下面的图片是目录
java文件的普通类访问方式,如代码所示
package com.itcast.demo6;
import java.io.FileInputStream;
public class Readfile {
public static void main(String[] args) throws Exception {
String filename1 = "1.txt";
readfile(filename1);
String filename2 = "src/2.txt";
readfile(filename2);
String filename3 = "WebRoot/3.txt";
readfile(filename3);
String filename4 = "WebRoot/WEB-INF/4.txt";
readfile(filename4);
}
public static void readfile(String filename) throws Exception {
FileInputStream fs = new FileInputStream(filename);
byte[] b = new byte[1024];
int a;
while ((a = fs.read(b)) != -1) {
String str = new String(b, 0, a);
System.out.println(str);
}
fs.close();
}
}
javaweb的访问路径如代码所示:
package com.itcast.demo6;
import java.io.FileInputStream;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ReadfileServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 1.txt没有发布,所以不能访问
String filename3 = "/3.txt";
filename3 = this.getServletContext().getRealPath(filename3);
String filename2 = "/WEB-INF/classes/2.txt";
filename2 = this.getServletContext().getRealPath(filename2);
String filename1 = "/WEB-INF/4.txt";
filename1 = this.getServletContext().getRealPath(filename1);
try {
readfile(filename1);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void readfile(String filename) throws Exception {
FileInputStream fs = new FileInputStream(filename);
byte[] b = new byte[1024];
int a;
while ((a = fs.read(b)) != -1) {
String str = new String(b, 0, a);
System.out.println(str);
}
fs.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}