サムネがコーヒーの記事は書きかけです。

Java File I/O

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);
    }
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です