Netbeans 7.1.2 を実行しており、サーブレット内のいくつかのテキスト ファイルにアクセスしようとしています。
package com.optimizations.cutting;
@WebServlet(name = "Servlet", urlPatterns = {"/Servlet"})
public class Servlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("in servlet "+System.currentTimeMillis());
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
DataManager dm = new DataManager();
SheetInfo si = dm.loadSheetInfoCSV("sheetInfo.csv");
ArrayList<Piece> pieces = dm.loadPiecesCSV("res/pieces4.csv");
....
sheetInfo.csv
とファイルを考えられるあらゆる場所に配置しpieces4.csv
、前にバックスラッシュを付けてアクセスしようとしました(/sheetInfo.csv
または/res/pieces4.csv
)
私が「考えられるすべての場所」と言うとき、私が意味するのは、現在のディレクトリ(ソースパッケージ)、その隣、Servlet.java
および私が作成した他のすべてのファイル(DataManager.java
それを使用するファイルを含む)です。私も-> ->"Add folder"
で行いました。(念のため、2つのフォルダーを追加しました)。したがって、私の大切なファイルは一度に 3 つの場所にあります。Properties window
Sources
Package Folder
src/java/com/optimizations/cutting
隣Servlet.java
とDataManager.java
src/java/res
src/resources
しかし、私はまだ取得しますSEVERE: java.io.FileNotFoundException: resources/pieces4.csv (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:138) at java.io.FileInputStream.<init>(FileInputStream.java:97) at java.io.FileReader.<init>(FileReader.java:58) at com.optimizations.cutting.DataManager.loadPiecesCSV(DataManager.java:98)`
サーバーも再起動しました(Glassfish 3.1.2)
(これはばかげているように思えるかもしれませんが、クライアントとサーバーの両方からファイルにアクセスできるように、ファイルをどこにどのように配置する必要があるかを知る必要もあります-私のサーブレットはいくつかの画像(.jpg)を作成し、それらを保存します(どこに?)そしてファイル名を.jspに送り返し、カラーボックスに表示します)
前もって感謝します。
編集
エラーの行と DataManager.java の呼び出しを追加しました。
public SheetInfo loadSheetInfoCSV(String filename){
....
br = new BufferedReader( new FileReader(filename));
String strLine = "";
//read comma separated file first line
if ((strLine = br.readLine()) != null)
....