J'ai essayé node-jt400 (lecture IFS)

IFS read Essayez de lire les fichiers (SJIS, UTF8, UTF16) créés sur IFS avec le code Java suivant de Node.

IfsWrite.java


public class IfsWrite {

	public static void main(String[] args) {
			AS400 as400  = new AS400("192.168.X.XXX" ,"MYUSER" ,"MYPASS");
			final String BR = System.getProperty("line.separator");

			IFSFileOutputStream fileutf8;
			IFSFileOutputStream fileutf16;
			IFSFileOutputStream filesjis;
			try {
				String str1 = "Test string 1ère ligne abc";
				String str2 = "Test string 2ème ligne";
				String str = str1 + BR + str2;

				byte[] utf8 = str.getBytes("UTF-8"); 
				byte[] utf16 = str.getBytes("UTF-16");
				byte[] sjis = str.getBytes(Charset.forName("Shift_JIS"));

				fileutf8 = new IFSFileOutputStream(as400, "/myIfsFolder/java-utf8.txt",IFSFileOutputStream.SHARE_ALL, true,1208);
				fileutf8.write(utf8);
				fileutf8.close();

				fileutf16 = new IFSFileOutputStream(as400, "/myIfsFolder/java-utf16.txt",IFSFileOutputStream.SHARE_ALL, true,1200);
				fileutf16.write(utf16);
				fileutf16.close();

				filesjis = new IFSFileOutputStream(as400, "/myIfsFolder/java-sjis.txt",IFSFileOutputStream.SHARE_ALL, true,932);
				filesjis.write(sjis);
				filesjis.close();

			} catch (AS400SecurityException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
	}
}

Puisque iconv-lite est utilisé pour la conversion de code de caractère, veuillez l'installer avant de l'exécuter.

npm install iconv-lite

IfsRaed.JS


var jt400 = require("node-jt400");
var express = require("express");
var iconv = require('iconv-lite');
var app = express();

var pool = jt400.pool({ host: '192.168.X.XXX', user: 'MYUSER', password: 'MYPASS' });

var server = app.listen(8888, function () {
  console.log("curl http://localhost:" + server.address().port + '/~');
});

app.get("/ifsReadSjis", function (req, res, next) {
  const ifs = pool.ifs();
  let ifsReadableStream = ifs.createReadStream("/myIfsFolder/java-sjis.txt").pipe(iconv.decodeStream("Shift_JIS"));
  let buffer = "";
  ifsReadableStream.on("data", (chunk) => {
    buffer += chunk;
  });
  ifsReadableStream.on("end", function () {
    res.send(buffer);
  });
});

app.get("/ifsReadUtf8", function (req, res, next) {
  const ifs = pool.ifs();
  let ifsReadableStream = ifs.createReadStream("/myIfsFolder/java-utf8.txt").pipe(iconv.decodeStream("UTF-8"));
  let buffer = "";
  ifsReadableStream.on("data", (chunk) => {
    buffer += chunk;
  });
  ifsReadableStream.on("end", function () {
    res.send(buffer);
  });
});

app.get("/ifsReadUtf16", function (req, res, next) {
  const ifs = pool.ifs();
  let ifsReadableStream = ifs.createReadStream("/myIfsFolder/java-utf16.txt").pipe(iconv.decodeStream("UTF-16"));
  let buffer = "";
  ifsReadableStream.on("data", (chunk) => {
    buffer += chunk;
  });
  ifsReadableStream.on("end", function () {
    res.send(buffer);
  });
});

C'est le résultat de l'exécution.

nodejt25.png

Recommended Posts

J'ai essayé node-jt400 (lecture IFS)
J'ai essayé node-jt400 (écriture IFS)
J'ai essayé node-jt400 (Programmes)
J'ai essayé node-jt400 (exécuter)
J'ai essayé node-jt400 (Transactions)
J'ai essayé node-jt400 (Construction de l'environnement)
J'ai essayé node-jt400 (mise à jour SQL)
J'ai essayé node-jt400 (requête SQL)
J'ai essayé de mettre Tomcat
J'ai essayé youtubeDataApi.
J'ai essayé de refactoriser ①
J'ai essayé FizzBuzz.
J'ai essayé JHipster 5.1
[J'ai essayé] Tutoriel de printemps
J'ai essayé d'exécuter Autoware
J'ai essayé d'utiliser Gson
J'ai essayé d'utiliser TestNG
J'ai essayé Spring Batch
J'ai essayé d'utiliser Galasa
J'ai essayé de lire et de sortir CSV avec Outsystems
Je peux le lire! RxJava
J'ai essayé DI avec Ruby
J'ai essayé d'utiliser azure cloud-init
J'ai essayé la machine Spring State
J'ai essayé Rails débutant [Chapitre 1]
J'ai essayé d'utiliser Apache Wicket
J'ai lu module-info.java dans java.base
J'ai essayé d'utiliser Java REPL
J'ai essayé l'analyse du code source
J'ai essayé le problème FizzBuzz
J'ai essayé Rails débutant [Chapitre 2]
J'ai essayé UPSERT avec PostgreSQL.
J'ai essayé BIND avec Docker
J'ai essayé de vérifier yum-cron
J'ai essayé la métaprogrammation avec Java
J'ai essayé d'utiliser anakia + Jing maintenant
J'ai essayé le didacticiel Angular + SpringBoot + PostgreSQL
J'ai essayé quelque chose qui s'appelle la recherche récursive
J'ai essayé d'utiliser Spring + Mybatis + DbUnit
J'ai essayé d'utiliser JOOQ avec Gradle
[K8s] J'ai essayé la communication entre les pods!
J'ai essayé l'analyse morphologique avec MeCab
J'ai essayé un petit docker de digdag.
J'ai essayé de résumer le support d'iOS 14
J'ai lu la source d'Integer
J'ai essayé d'interagir avec Java
J'ai essayé d'expliquer la méthode
J'ai essayé de mettre Domino11 dans CentOS7
J'ai lu la source de Long
J'ai essayé le framework Java "Quarkus"
[Rails] J'ai essayé de supprimer l'application
J'ai essayé d'utiliser l'API Java8 Stream
J'ai essayé l'outil de micro-benchmarking de Java JMH
J'ai essayé d'utiliser JWT en Java
J'ai essayé GraphQL avec Spring Boot
J'ai essayé de résumer l'apprentissage Java (1)
J'ai lu la source de Short