【问题标题】:Write To file with getResource使用 getResource 写入文件
【发布时间】:2013-01-04 23:59:35
【问题描述】:

我使用此方法写入文本文件(使用 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();
    }    
    }

【问题讨论】:

标签: java getresource


【解决方案1】:

您不能修改 CLASSPATH 中的资源。它们是只读的。期间。

另请参阅:Java OutputStream equivalent to getClass().getClassLoader().getResourceAsStream()

【讨论】:

  • @Sajjad-himorning:只使用标准的FileWriter 和文件系统?
【解决方案2】:

尝试改变:

public void writethis

public static void writethis

【讨论】:

  • ... 这将无法编译,因为在第一行中有 this.getClass() 的引用
猜你喜欢
  • 2012-04-28
  • 2018-10-19
  • 2016-08-12
  • 1970-01-01
  • 2013-11-30
  • 2019-03-25
  • 2012-06-07
  • 2021-05-29
  • 2011-05-20
相关资源
最近更新 更多