bin eine neue Biene in Java Welt Ich brauche ein einfaches Java-Programm, das in der Lage, auf eine pdf-Datei aus einem Ordner zugreifen und speichern Sie es in einem anderen Ordner, vor dem Problem, wie PDF-Datei mit nicht-Englisch zu lesen Dateiname bedeutet zu sagen, wenn der Dateiname wie folgt ist, wie kann ich diese Datei lesen und speichern sie in einem anderen Ordner mit dem gleichen Namen, das ist sehr dringend Anforderung für mich plz wenn jemand über diese PLZ wissen senden Sie mir einen Code, danke in AdvanceProblem mit Unicode-Zugang
Antwort
Erstens, wenn die einzige Aufgabe ist es, Datei in einen anderen Ordner zu kopieren, ist es egal, ob die Datei, wenn PDF oder was auch immer. Öffnen Sie die Datei, lesen Sie sie und schreiben Sie sie in eine andere Datei. Wenn Sie die Aufgabe jakarta Bibliotheken verwenden, ist sehr einfach:
OutputStream out = new FileOutputStream("yourfile.pdf");
IOUtils.copy(new FileInputStream("myfile.pdf"), out);
out.flush();
out.close();
Aufgrund Java verwendet Unicode für die interne Darstellung der Zeichenfolge sollte ein beliebiger Dateiname hier einschließlich Dateinamen arbeiten, die nicht englische Zeichen enthält. Aber wenn Sie in Parsing des Inhalts interessant sind, verwenden Sie eine der Open-Source-Bibliotheken für die PDF-Analyse (z. B. http://java-source.net/open-source/pdf-libraries).
Woher beziehen Sie den Dateinamen? Ich habe den folgenden Code ausprobiert, der alle Dateien von einem Verzeichnis in ein anderes kopiert und die chinesischen Zeichen behält.
public class Main {
public static void main(String[] args) throws FileNotFoundException, IOException {
String sourceDirectory = "temp/d1";
String targetDirectory = "temp/d2";
for (File fIn : new File(sourceDirectory).listFiles()) {
File fOut = new File(targetDirectory, fIn.getName());
copy(fIn, fOut);
}
}
private static void copy(File fIn, File fOut) throws FileNotFoundException, IOException {
InputStream in = new BufferedInputStream(new FileInputStream(fIn));
OutputStream out = new BufferedOutputStream(new FileOutputStream(fOut));
try {
byte[] buf = new byte[1024];
int read;
while (-1 != (read = in.read(buf))) {
out.write(buf, 0, read);
}
} finally {
out.flush();
out.close();
in.close();
}
}
}
Vielleicht gehen Sie mit den Dateinamen in einer Weise, die chinesischen Schriftzeichen werden gelöscht?
Vielen Dank, Sir, es funktioniert gut – vijay
- 1. Django-Problem: Problem mit Auswahlfeldern
- 2. Problem mit Python new_word Problem
- 3. Problem mit Update mit Skalarfunktion
- 4. Problem mit Microsoft.Web.UI.WebControls
- 5. Localizable.strings Problem mit SVN
- 6. Problem mit JScrollBar Anzeige
- 7. Problem mit Bash command_not_found_handle()
- 8. SWT-Problem mit syncExec()
- 9. regex Problem mit PHP
- 10. Provisioning-Problem mit CrmDeploymentService
- 11. Problem mit GWT ScrollPanel
- 12. Problem mit Sterncode
- 13. Problem mit DBDesigner
- 14. Problem mit Datagrid anzeigen
- 15. Problem mit Regalmodul?
- 16. Problem mit 2D-Arrays
- 17. Problem mit @Override-Annotation
- 18. WPF - Problem mit Triggern
- 19. ghc Problem mit hmatrix
- 20. Problem mit später Bindung!
- 21. Einige Problem mit BufferedReader
- 22. Problem mit LZO
- 23. Problem MockRoundtrip Klasse mit
- 24. Transformation mit MovieClip.transform.matrix Problem
- 25. Problem mit Codierung, wenn
- 26. Problem mit NSMutableArray?
- 27. Javascript Problem mit Easyslider
- 28. Problem syn mit ado.net
- 29. Problem mit NSSearchPathForDirectoriesInDomains
- 30. Problem mit PHP Login
Dank Alex für Ihre Antwort meine eigentliche Anforderung ist ich habe eine pdf-Datei dh Inv04736851-100919 重做 没有 .pdf ich möchte darauf zugreifen und muss es in einem anderen Ordner mit dem gleichen Namen speichern, wenn ich versuche, dies alles Chinesisch zu tun Zeichen, das in Dateiname ist, wird automatisch ersetzt mit ??????, – vijay