1

このメソッドを使用してテキスト ファイルに書き込みます (getResource()... を使用して JAR ファイルで使用します)。私のファイルはクラスパスにあります。これが私のコードです:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class JarWrite {

    public JarWrite(){
        writethis();
    }

    public void writethis(){

        try{
       InputStreamReader isReader=  new InputStreamReader(this.getClass().getResourceAsStream("AllBookRecords.txt"));
      BufferedReader br = new BufferedReader(isReader);

      PrintWriter writer1=new PrintWriter(new File(this.getClass().getResource("Boutput.txt").getPath()));

      String Bs;
            while( (Bs=br.readLine()) != null ){                 
                    writer1.println(Bs);               
            }

            writer1.close();
            br.close();

        } catch(FileNotFoundException fnfe){

        } catch(IOException ioe){
            ioe.printStackTrace();
        }
    }

    public static void main(String[] args){
        new JarWrite();
    }    
    }
4

2 に答える 2

5

CLASSPATH からリソースを変更することはできません。それらは読み取り専用です。限目。

参照: getClass().getClassLoader().getResourceAsStream() に相当するJava OutputStream

于 2013-01-21T21:03:45.557 に答える
-1

変更してみてください:

public void writethis

public static void writethis
于 2013-01-21T20:51:07.773 に答える