javaによるファイル操作のテンプレート。
目次
ファイルの読み込み
一行ごとに読み込む
import java.io.*;
import java.util.Scanner;
public class fileio {
String inputFilename;
String outputFilename;
public fileio(){
this.inputFilename = "input";
this.outputFilename = "output";
}
public void setInputFilename(String inputFilename){
this.inputFilename = inputFilename;
}
public void setOutputFilename(String outputFilename){
this.outputFilename = outputFilename;
}
public void readByLine(){
File f = new File(this.inputFilename);
String line;
try{
Scanner s = new Scanner(f);
while (s.hasNextLine()){
line = s.nextLine();
//Trim for deleting white spaces of the first and the last index.
line = line.trim().replaceAll("^[\n\r]$","");
System.out.println(line);
}
br.close();
}catch (Exception e){
System.out.println(e);
}
}
public static void main(String[] args) {
fileio fio = new fileio();
fio.setInputFilename("txt.txt");
fio.readByLine();
}
}
>>>
まとめて読み込む
import java.io.*;
import java.util.Scanner;
public class fileio {
String inputFilename;
public fileio(){
this.inputFilename = "input";
}
public void setInputFilename(String inputFilename){
this.inputFilename = inputFilename;
}
public String[] readLines(){
File file = new File(this.inputFilename);
try{
BufferedReader br = new BufferedReader(new FileReader(file));
String s = br.readLine();
int i = 1;
while(s != null){
i++;
s = br.readLine();
}
s = br.readLine();
BufferedReader br2 = new BufferedReader(new FileReader(file));
String[] arr = new String[i-1];
for (int j = 0; j < i-1; j++) {
s = br2.readLine();
arr[j] = s;
}
br.close();
return arr;
}catch (Exception e){
return new String[0];
}
}
public static void main(String[] args) {
fileio fio = new fileio();
fio.setInputFilename("test.txt");
String[] arr = fio.readLines();
System.out.println(arr.length);
}
}
ファイルの出力
import java.io.*;
import java.util.Scanner;
public class fileio {
String inputFilename;
String outputFilename;
public fileio(){
this.inputFilename = "input";
this.outputFilename = "output";
}
public void setInputFilename(String inputFilename){
this.inputFilename = inputFilename;
}
public void setOutputFilename(String outputFilename){
this.outputFilename = outputFilename;
}
public void writeLines(String[] arr){
File fout = new File(this.outputFilename);
try{
FileOutputStream fos = new FileOutputStream(fout);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
for (int i = 0; i < arr.length; i++) {
bw.write(arr[i] + "\n");
}
bw.close();
}catch (Exception e){
System.out.println(e);
}
}
public static void main(String[] args) {
fileio fio = new fileio();
fio.setOutputFilename("out.txt");
String[] strings = new String[10];
for (int i = 0; i < strings.length; i++) {
strings[i] = i+"";
}
fio.writeLines(strings);
}
}

