Même si vous n'utilisez pas Apache Camel (liaison système), il est pratique d'utiliser simplement une bibliothèque pratique, alors essayez de l'utiliser.
Cependant, la "sortie de fichier texte" dans l'exemple écrit ici est facile sans installer de bibliothèque. .. ..
Je pense.
Je pense que vous pouvez utiliser diverses fonctions en modifiant simplement les options, alors essayez-le.
-Sortir la chaîne de caractères "aaaa" dans un fichier -Nom du fichier de sortie "test / a4.txt" ・ S'il n'y a pas de dossier de test, il sera créé automatiquement. -Écraser les fichiers
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();
//Création de données
Exchange exchange = new DefaultExchange(producer.getCamelContext());
Message message = exchange.getIn();
message.setHeader(Exchange.FILE_NAME, "test/a4.txt");
message.setBody("aaaa"); //Le contenu de sortie est du texte
//Sortie de fichier
String directory = ".";
Exchange result = producer.send("file://" + directory, exchange);
//Vérification des erreurs
if (result.getException() != null)
throw result.getException();
}
}
pom.partie de xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>${camel-ver}</version>
</dependency>
Réécrivez les options ci-dessous
Exchange result = producer.send("file://" + directory + "?fileExist=Append", exchange);
Réécrivez les options ci-dessous
Exchange result = producer.send("file://" + directory + "?fileExist=Fail", exchange);
Réécrivez l'implémentation suivante. filename.txt est copié dans a4.txt Le contenu est une copie et le nom du fichier est test / a4.txt.
message.setHeader(Exchange.FILE_NAME, "test/a4.txt");
message.setBody(new File("filename.txt"));
Réécrivez l'implémentation suivante. filename.txt est copié dans a4.txt
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);
Réécrivez l'implémentation suivante. filename.txt est copié dans a4.txt
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);
Pour d'autres options http://camel.apache.org/file2.html
・ Le résultat de l'accès par HTTPS est entré en réponse
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();
//Création de données
Exchange exchange = new DefaultExchange(producer.getCamelContext());
Message message = exchange.getIn();
//Accès HTTP
Exchange result = producer.send("https://www.google.co.jp", exchange);
//Vérification des erreurs
if (result.getException() != null)
throw result.getException();
//Obtenir des résultats
String response = result.getOut().getBody(String.class);
System.out.println(response);
}
}
pom.Fait partie de xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-http</artifactId>
<version>${camel-ver}</version>
</dependency>
Je vais le réécrire comme suit
Exchange result = producer.send("http://192.168.33.10/member/bbb.html?authMethod=Basic&authUsername=secret&authPassword=aaa", exchange);
Recommended Posts