Auch wenn Sie Apache Camel (Systemverknüpfung) nicht verwenden, ist es praktisch, nur eine praktische Bibliothek zu verwenden. Versuchen Sie es also.
Die "Textdateiausgabe" in dem hier geschriebenen Beispiel ist jedoch einfach, ohne eine Bibliothek zu installieren. .. ..
Ich denke.
Ich denke, dass Sie verschiedene Funktionen nutzen können, indem Sie einfach die Optionen ändern. Probieren Sie es also aus.
-Geben Sie die Zeichenfolge "aaaa" in eine Datei ein -Ausgabedateiname "test / a4.txt" ・ Wenn kein Testordner vorhanden ist, wird dieser automatisch erstellt. -Dateien schreiben
import org.apache.camel.*;
import org.apache.camel.impl.DefaultExchange;
import org.apache.camel.main.Main;
public class FileTest {
public static Main camel = new Main();
public static void main(String[] args) throws Exception {
camel.start();
ProducerTemplate producer = camel.getCamelTemplate();
//Datenerstellung
Exchange exchange = new DefaultExchange(producer.getCamelContext());
Message message = exchange.getIn();
message.setHeader(Exchange.FILE_NAME, "test/a4.txt");
message.setBody("aaaa"); //Der Ausgabeinhalt ist Text
//Dateiausgabe
String directory = ".";
Exchange result = producer.send("file://" + directory, exchange);
//Fehlerüberprüfung
if (result.getException() != null)
throw result.getException();
}
}
pom.Teil von XML
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>${camel-ver}</version>
</dependency>
Schreiben Sie die folgenden Optionen neu
Exchange result = producer.send("file://" + directory + "?fileExist=Append", exchange);
Schreiben Sie die folgenden Optionen neu
Exchange result = producer.send("file://" + directory + "?fileExist=Fail", exchange);
Schreiben Sie die folgende Implementierung neu. Dateiname.txt wird nach a4.txt kopiert Der Inhalt ist eine Kopie und der Dateiname lautet test / a4.txt.
message.setHeader(Exchange.FILE_NAME, "test/a4.txt");
message.setBody(new File("filename.txt"));
Schreiben Sie die folgende Implementierung neu. Dateiname.txt wird nach a4.txt kopiert
File file = new File("bbb.txt");
message.setBody(file);
message.setHeader(Exchange.FILE_LAST_MODIFIED, file.lastModified());
Exchange result = producer.send("file://" + directory + "?keepLastModified=true", exchange);
Schreiben Sie die folgende Implementierung neu. Dateiname.txt wird nach a4.txt kopiert
File file = new File("bbb.txt");
message.setBody(file);
message.setHeader(Exchange.FILE_LAST_MODIFIED, file.lastModified());
Exchange result = producer.send("file://" + directory + "?keepLastModified=true&chmod=777", exchange);
Für andere Optionen http://camel.apache.org/file2.html
・ Das Ergebnis des Zugriffs über HTTPS wird als Antwort eingegeben
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.impl.DefaultExchange;
import org.apache.camel.main.Main;
public class HttpTest {
public static Main camel = new Main();
public static void main(String[] args) throws Exception {
camel.start();
ProducerTemplate producer = camel.getCamelTemplate();
//Datenerstellung
Exchange exchange = new DefaultExchange(producer.getCamelContext());
Message message = exchange.getIn();
//HTTP-Zugriff
Exchange result = producer.send("https://www.google.co.jp", exchange);
//Fehlerüberprüfung
if (result.getException() != null)
throw result.getException();
//Ergebnisse bekommen
String response = result.getOut().getBody(String.class);
System.out.println(response);
}
}
pom.Teil von xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-http</artifactId>
<version>${camel-ver}</version>
</dependency>
Ich werde es wie folgt umschreiben
Exchange result = producer.send("http://192.168.33.10/member/bbb.html?authMethod=Basic&authUsername=secret&authPassword=aaa", exchange);
Recommended Posts