私は最近プログラムを作成しました。ファイル処理クラスは次です:FileWriterとjarファイル - リソースを見つけることができません
package smartest.eu;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Processor {
private BufferedWriter out;
private BufferedReader in;
// this method opens the file for reading!
public void openWriter() throws Exception {
if (out == null) {
try {
out = new BufferedWriter(new FileWriter(new File("src/personaldata.txt")));
}
catch (IOException ex) {
ex.printStackTrace();
}
}
else {
throw new Exception("Writer opened already");
}
}
// this method opens the reader
public void readWriter() throws Exception {
if (in == null) {
try {
in = new BufferedReader(new FileReader("src/personaldata.txt"));
in.mark(65538);
}
catch (IOException ex) {
ex.printStackTrace();
}
}
else {
throw new Exception("Reader already opened");
}
}
// this method reads the file line by line outputting a string as the result
public String readText() throws Exception {
String answer1 = "";
if (in != null) {
try {
if ((answer1 = in.readLine()) != null) {
answer1 += "\n";
}
else {
answer1 = "No more data!\nThe stream will be read from the beginning!\n";
}
}
catch (IOException ex) {
ex.printStackTrace();
}
}
else {
throw new Exception("Open file for reading at first");
}
return answer1;
}
// this method writes the given string to a file
public void writeText(String a) throws Exception {
if (out != null) {
out.write(a);
out.flush();
}
else {
throw new Exception("Open file for writing at first");
}
}
public void resitStream() {
try {
in.reset();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
ディレクトリ構造processor.jar:
1) manifest
2) personaldata.txt
3) smartest/eu/*.class
しかし、私はjarファイルを作っていたときに、それがファイルを見つけることができませんが(「ファイルが見つかりません例外を与えます")。どうすれば修正できますか? P.P.また、jarファイルがjarファイルの中で利用できないのはなぜですか?
ありがとうございます。これは役に立つヒントです。 –