Mein else if
Block wird das Ergebnis vom Remote-Dienst überprüfen.Neu erstellte Datei kann nicht in Java geöffnet werden
Wenn das Ergebnis übereinstimmt, wird ein weiterer API-Aufruf ausgelöst, um den Remotedienst erneut zu kontaktieren. Der Remote-Dienst sendet eine Datei an mein Client-Programm zurück.
Ich habe alle meinen Code getestet und es funktioniert, aber ich bin nicht in der Lage, die neue Datei zu öffnen, und es zeigt die Datei wurde beschädigt. Mein Client-Programm liest die Datei vom Remote-Dienst und schreibt sie in einen anderen Dateinamen in einem anderen Verzeichnis.
Dies ist mein Quellcode:
else if (result == 1 && value.equals("problem"))
{
String Url = "http://server_name:port/anything/anything/";
String DURL = Url.concat(iD);
System.out.println("URL is : " + DURL); // the remote API URL
URL theUrl = new URL (DURL);
HttpURLConnection con1 = (HttpURLConnection) theUrl.openConnection(); //API call
con1.setRequestMethod("GET");
con1.connect();
int responseCode = con1.getResponseCode();
if(responseCode == 200)
{
try
{
InputStream is1 = con1.getInputStream();
BufferedReader read1 = new BufferedReader (new InputStreamReader(is1));
String data1 = "" ;
while ((data1 = read1.readLine()) != null)
{
PrintStream ps = new PrintStream(new FileOutputStream(filePath));
ps.print(data1);
ps.close();
}
System.out.println("The new sanitized file is ready");
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
Das ist mein filePath
im Code D erwähnt: /file/red_new.docx. So bekomme ich meinen Dateipfad: String filePath = "D:/file/"+fn+"_new."+fileType;
. Die Variable fn
ist der Dateiname aus der JSON-Zeichenfolge des ersten API-Aufrufs, während fileType
der Dateityp aus der JSON-Zeichenfolge aus dem zweiten API-Aufruf ist. Ich füge in _new
hinzu, um anzuzeigen, dass es eine neue Datei ist und Java-Verkettung mit fn
und fileType
verwendet, um den vollständigen Pfad zu erhalten.
Definieren Sie "nicht in der Lage, die neue Datei zu öffnen", und sagen Sie uns, was "zeigt die Datei wurde beschädigt". Unklar, was du verlangst. Sind diese Textdateien? – EJP
Sie sollten alle offenen Verbindungen/Streams/Leser in einem endgültigen Block oder mehreren endlich Blöcke schließen ... diese neigen dazu, Inkonsistenzen zu beheben und es ist in der Regel gute Praxis, dies zu tun –