java文件读取路径|java读取文件路径问题

java文件读取路径|java读取文件路径问题的第1张示图

⑴ java读取文件路径问题

如果你使用的是eclipse,请检查编译是否禁止了非.class文件的编译输出,如果这项没有问题。那么 src/META-INF/*.* 文件自动输出到 /WEB-INF/classes/META-INF/*.*。也就是说,最终资源文件在 WEB-INF/classes/META-INF/weibo.xml

使用JAVA 类获取路径:

Filef=newFile(getClass().getResource("/META-INF/weibo.xml").getPath());

获取InputStream:

InputStreaminput=getClass().getResourceAsStream("/META-INF/weibo.xml");

另外,JAVA项目的标准协定(习惯)中的源代码目录结构是:

src|–main||–javaJAVA文件||–resources资源文件|–test|–javaTESTJAVA文件|–resourcesTEST资源文件

输出的目录结构是:

target|–classesmain/java,main/resource输出目录|–test-classestest/java,test/resources输出目录

⑵ java程序读取资源文件时路径如何指定

(1)、request.getRealPath("/");//不推荐使用获取工程的根路径 (2)、request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用 (3)、request.getSession().getServletContext().getRealPath("/");//获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用 (4)、 this.getClass().getClassLoader().getResource("").getPath();//获取工程classes 下的路径,这个方法可以在任意jsp,servlet,java文件中使用,因为不管是jsp,servlet其实都是java程序,都是一个 class。所以它应该是一个通用的方法。0、关于绝对路径和相对路径1.基本概念的理解绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例 如:C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。相对路径:相对与某个基 准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例 如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。另外关于URI,URL,URN等内容,请参考RFC相关文档标准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,(http://www.ietf.org/rfc/rfc2396.txt)2.关于JSP/Servlet中的相对路径和绝对路径。 2.1服务器端的地址服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对 地址,他们是由客户端浏览器解析的)1、request.getRealPath方法:request.getRealPath("/") 得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\方法:request.getRealPath(".") 得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\.方法:request.getRealPath("") 得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTestrequest.getRealPath("web.xml") C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\web.xml2、request.getParameter("");ActionForm.getMyFile();方法:String filepath = request.getParameter("myFile"); 得到的路径:D:\VSS安装目录\users.txt方法:String filepath = ActionForm.getMyFile(); 得到的路径:D:\VSS安装目录\users.txt————————————————– strutsTest 为工程名myFile 在ActionForm中,为private String myFile; 在jsp页面中:为<html:file property="myFile"></html:file>

⑶ java File路径中如何读取“/”

转义呢,用ab//c.txt

⑷ java怎么通过文件的路径读取文件

packagefile.system.demo.exception;importjava.io.File;importjava.io.FileNotFoundException;importjava.util.Scanner;publicclassReadFile{publicstaticStringgetFile(Stringrealpath){Scannerscanner=null;Stringtext="";try{Filefile=newFile(realpath);scanner=newScanner(file);}catch(FileNotFoundExceptione){e.printStackTrace();}if(scanner!=null){while(scanner.hasNextLine()){text+=scanner.nextLine();}scanner.close();}//System.out.println(text);returntext;}staticclassInnerTest{publicstaticvoidmain(String[]args){Stringrealpath="D:\test.txt";Stringtext=getFile(realpath);System.out.println(text);}}}实现方式有很多,还可以用字节流FileInputStream,字符流FileReader等方式读取

⑸ java根据路径读取文件

直接贴代码吧。不过这里要做一个简单的说明,对于这个程序,我们必须保证我们在C盘下有一个Users\HP\Desktop的文件夹,因为在后面写入文件的时候,如果路径中的文件不存在,是程序可以自动为其添加,但如果没有了这个路径,则程序会报找不到文件路径的异常。你可以对这个异常进行人性的处理,还可以在程序要向这个路径写入数据之前,创建出这个路径。import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.Scanner;public class ListRoots {private static final String LOG_BASE_PATH = "C:\\Users\HP\\Desktop\\";private static ArrayList<String> mfiles = new ArrayList<String>();/*** 得到给定路径下的目录或是文件* @param strPath* @throws Exception*/private static void displayDirsOrFiles(String strPath) throws Exception {try {File f = new File(strPath);if (f.isDirectory()) {File[] fList = f.listFiles();for (int j = 0; j < fList.length; j++) {if (fList[j].isDirectory()) {System.out.println("Directory is: "+ fList[j].getPath());displayDirsOrFiles(fList[j].getPath()); // 对当前目录下仍是目录的路径进行遍历}}for (int j = 0; j < fList.length; j++) {if (fList[j].isFile()) {String name = fList[j].getPath().toString();System.out.println("Filename is: " + name);mfiles.add(fList[j].getPath());}}}} catch (Exception e) {System.err.println("Error: " + e);}}/*** 向文件中写入数据* @param dirOrfiles* @throws IOException*/private static void writeDetailToFiles(ArrayList<String> dirOrfiles) throws IOException {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd H:m:s");toFiles(getLogPath(), format.format(new Date()) + " — 检测到文件" + dirOrfiles.size() + "个:" + "\r\n");for (String file : dirOrfiles) {toFiles(getLogPath(), file + "\r\n");}toFiles(getLogPath(), "————————————————————————————————————————–\r\n");}/*** 获得写入数据的路径* @return*/private static String getLogPath() {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");return LOG_BASE_PATH + format.format(new Date()) + ".txt";}/*** 向dir路径下写入数据data* @param path* @param data*/private static void toFiles(String path, String data) throws IOException {File file = new File(path);if (!file.exists()) {file.createNewFile();}FileWriter fw = new FileWriter(file, true);fw.write(data);fw.flush();fw.close();}public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入待遍历目录路径(Format: F:\\a\\b):");String strPath = input.nextLine();try {displayDirsOrFiles(strPath.replace("\\", "\\\\"));writeDetailToFiles(mfiles);} catch (Exception e) {e.printStackTrace();}}}

⑹ java文件读写的文件应该放哪个路径

路径可以随意指定的,没有固定的目录要求。是根据你的实际需求还设计。

⑺ Java实现读取某个路径下的文件目录

importjavax.swing.*;

importjavax.swing.table.AbstractTableModel;

importjavax.swing.table.TableCellRenderer;

importjavax.swing.event.TreeModelListener;

importjavax.swing.event.TreeSelectionListener;

importjavax.swing.event.TreeSelectionEvent;

importjavax.swing.tree.TreeModel;

importjavax.swing.tree.TreePath;

importjavax.swing.tree.TreeCellRenderer;

importjava.awt.*;

importjava.awt.event.*;

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.IOException;

importjava.io.FileFilter;

importjava.util.Calendar;

importjava.util.ArrayList;

importjava.text.SimpleDateFormat;

importjava.text.MessageFormat;

/**

*@authorHardneedl

*/

{

=newDimension(300,200);

=newDimension(1024,768);

=newDimension(600,400);

privateJLabelstatusLabel;

privateJTreetree;

privateJTabledetailTable;

;

publicDimensiongetMaximumSize(){returnmaxSize;}

publicDimensiongetMinimumSize(){returnminSize;}

(){returnpreferredSize;}

publicStringgetTitle(){return"JavaExplorer";}

JavaExplorer()throwsHeadlessException{

init();

doLay();

attachListeners();

}

privatevoidinit(){

statusLabel=newJLabel(){publicColorgetForeground(){returnColor.BLUE;}};

tree=newJTree(newFileTreeModel());

tree.setCellRenderer(newDirCellRenderer());

detailTable=newJTable(tableModel=newFileTableModel());

detailTable.getColumnModel().getColumn(2).setCellRenderer(newTableCellRenderer(){

privateJLabellabel=newJLabel();

=newSimpleDateFormat("yyyy年mm月dd日HH时MM分ss秒");

(JTabletable,Objectvalue,booleanisSelected,booleanhasFocus,introw,intcolumn){

if(valueinstanceofCalendar){

Calendarcal=(Calendar)value;

label.setText(format.format(cal.getTime()));

}

returnlabel;

}

});

detailTable.getColumnModel().getColumn(0).setCellRenderer(newTableCellRenderer(){

privateJLabellabel=newJLabel();

(JTabletable,Objectvalue,booleanisSelected,booleanhasFocus,introw,intcolumn){

if(valueinstanceofFile){

Filef=(File)value;

label.setText(f.getName());

label.setForeground(f.isDirectory()?Color.RED:Color.BLACK);

}

returnlabel;

}

});

}

privatevoiddoLay(){

Containercontainer=getContentPane();

JSplitPanesplitPane=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,newJScrollPane(tree),newJScrollPane(detailTable));

container.add(splitPane,BorderLayout.CENTER);

container.add(statusLabel,BorderLayout.SOUTH);

pack();

}

privatevoidattachListeners(){

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

tree.addTreeSelectionListener(newSelectionListener());

tree.addTreeSelectionListener(new_DirSelectionListener());

DirCellSelectedListenerck=newDirCellSelectedListener(tree);

detailTable.addKeyListener(ck);

detailTable.addMouseListener(ck);

}

publicstaticvoidmain(String[]args){

newJavaExplorer().setVisible(true);

}

{

staticfinalStringroot="我的电脑";

privateFile[]rootFiles;

=newFileFilter(){

publicbooleanaccept(Filef){returnf.isDirectory();}

};

privateFileTreeModel(){rootFiles=File.listRoots();}

publicObjectgetRoot(){returnroot;}

publicObjectgetChild(Objectparent,intindex){

if(parent==getRoot())returnrootFiles[index];

if(parentinstanceofFile){

Filepf=(File)parent;

returnpf.listFiles(dirFilter)[index];

}

returnnull;

}

publicintgetChildCount(Objectparent){

if(parent==getRoot())returnrootFiles.length;

if(parentinstanceofFile){

Filepf=(File)parent;

File[]fs=pf.listFiles(dirFilter);

returnfs==null?0:fs.length;

}

return0;

}

publicbooleanisLeaf(Objectnode){returnfalse;}

publicvoidvalueForPathChanged(TreePathpath,ObjectnewValue){}

(TreeModelListenerl){}

(TreeModelListenerl){}

publicintgetIndexOfChild(Objectparent,Objectchild){

if(parent==getRoot()){

for(inti=0,j=rootFiles.length;i<j;i++)

if(rootFiles[i]==child)returni;

}

if(parentinstanceofFile){

Filepf=(File)parent;

File[]fs=pf.listFiles(dirFilter);

for(inti=0,j=fs.length;i<j;i++){

if(fs[i].equals(child))returni;

}

}

return-1;

}

}

{

publicintgetRowCount(){returndir==null||dir.isFile()?0:dir.listFiles().length;}

publicintgetColumnCount(){return3;}

privateFiledir;

privatevoidsetDir(Filedir){

this.dir=dir;

fireTableDataChanged();

}

publicClass<?>getColumnClass(intcolumnIndex){

switch(columnIndex){

case0:returnFile.class;

case1:returnInteger.class;

case2:returnCalendar.class;

default:returnString.class;

}

}

publicStringgetColumnName(intcolumn){

switch(column){

case0:return"名称";

case1:return"大小";

case2:return"修改日期";

default:return"";

}

}

publicObjectgetValueAt(introwIndex,intcolumnIndex){

File[]fs=dir.listFiles();

Filef=fs[rowIndex];

switch(columnIndex){

case0:returnf;

case1:

if(f.isDirectory())returnnull;

try{

if(f.canRead())

returnnewFileInputStream(f).available();

}catch(IOExceptione){

e.printStackTrace();

}

case2:

Calendarcl=Calendar.getInstance();

cl.setTimeInMillis(f.lastModified());

returncl;

}

returnnull;

}

}

privateclass_{

publicvoidvalueChanged(TreeSelectionEvente){

TreePathpath=e.getNewLeadSelectionPath();

if(path!=null){

Objectobj=path.getLastPathComponent();

if(objinstanceofFile){

Filef=(File)obj;

File[]fs=f.listFiles();

statusLabel.setText(fs==null?null:MessageFormat.format("{0}个文件",fs.length));

}

else

statusLabel.setText(null);

}

}

}

{

publicbooleanisOpaque(){returntrue;}

(JTreetree,Objectvalue,booleanselected,booleanexpanded,booleanleaf,introw,booleanhasFocus){

if(valueinstanceofFile){

Strings=((File)value).getName();

setText(s.isEmpty()?value.toString():s);

}

else

setText(value.toString());

setForeground(selected?Color.BLUE:Color.BLACK);

setBackground(selected?Color.YELLOW:Color.WHITE);

returnthis;

}

}

{

publicvoidvalueChanged(TreeSelectionEvente){

Objectobj=e.getNewLeadSelectionPath().getLastPathComponent();

if(objinstanceofFile){

tableModel.setDir((File)obj);

}

}

}

,MouseListener{

privateJTreetree;

(JTreet){tree=t;}

privatevoidaction(InputEvente){

if(einstanceofMouseEvent){

}

if(einstanceofKeyEvent){

}

}

privatevoidexpand(Filef){

if(f.isDirectory()){

ArrayList<File>L=newArrayList<File>();

L.add(f);

FileparentFile=f.getParentFile();

while(parentFile!=null){

L.add(parentFile);

parentFile=parentFile.getParentFile();

}

TreePathtreePath=newTreePath(FileTreeModel.root);

for(inti=L.size()-1;i>-1;i–){

treePath=treePath.pathByAddingChild(L.get(i));

}

tree.setSelectionPath(treePath);

}

}

publicvoidkeyTyped(KeyEvente){}

publicvoidkeyPressed(KeyEvente){

if(e.getKeyCode()!=KeyEvent.VK_ENTER)return;

if(e.getSource()==detailTable){

introw=detailTable.getSelectedRow();

if(row!=-1){

Filef=(File)detailTable.getValueAt(row,0);

expand(f);

}

}

}

publicvoidkeyReleased(KeyEvente){

}

publicvoidmouseClicked(MouseEvente){

if(e.getClickCount()==2){

if(e.getSource()==detailTable){

introw=detailTable.getSelectedRow();

if(row!=-1){

Filef=(File)detailTable.getValueAt(row,0);

expand(f);

}

}

}

}

publicvoidmousePressed(MouseEvente){

}

publicvoidmouseReleased(MouseEvente){

}

publicvoidmouseEntered(MouseEvente){

}

publicvoidmouseExited(MouseEvente){

}

}

}

⑻ java读取本地文件路径怎么写

构造抄File对象,使用File对象取上级目录,再取绝对路径 File f = new File("c:\\temp\\01\\1.txt"); if(f.exists()){ System.out.println(f.getParentFile().getAbsolutePath()); }

⑼ java文件路径读取问题

把你的代码第一种情况打了一遍!我测试结果:

packagecn.test;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.IOException;publicclassReadTest{/***@paramargs*/publicstaticvoidmain(String[]args){Stringpath="G:\1.txt";try{out(path);System.out.println("读取成功!");}catch(IOExceptione){System.out.println("读取失败!");e.printStackTrace();}}publicstaticvoidout(Stringpath)throwsIOException{Filefile=newFile(path);if(!file.exists()){System.out.println("文件不存在!");}BufferedReaderbr=newBufferedReader(newFileReader(file));Stringline="";while((line=br.readLine())!=null){}}}

这样结果是:读取成功!

将 String path = "G:\1.txt"; 这句代码里面斜杆添加或减少一个会出现下面异常:

文件不存在!读取失败!java.io.FileNotFoundException: G:.txt (文件名、目录名或卷标语法不正确。)at java.io.FileInputStream.open(Native Method)at java.io.FileInputStream.<init>(FileInputStream.java:106)at java.io.FileReader.<init>(FileReader.java:55)at cn.test.ReadTest.out(ReadTest.java:32)at cn.test.ReadTest.main(ReadTest.java:18)

其实就是这个方法:

private native void open(String name) throws FileNotFoundException;

它在new出FileInputStream对象的时候调用上面的那个方法去访问本地磁盘文件,但是给出字符串有问题!抛出了FileNotFoundException异常,它是本地方法,具体什么情况会抛出你这个异常一样的信息!我自己测试了下:

这三种情况都会出现那种问题!

//String path = "Gd:\1.txt";//String path = "G:\1.txt";String path = "G:1.txt";

String path = "G:\1.txt";这时候应该是不会的,你可能修改了没保存!导致抛出的那个异常!!

⑽ java读取文件路径

你的头是e://tttt11.PNG不是e://tttt11//1.PNG???如果头是e://tttt11//1.PNG,filepath没有用,去掉。这段这么改:for (i=0; i <= str.length(); i += 2) { if (i == str.length() – 1 || i == str.length() – 2) break; else fileName = str.substring(i); } // System.out.println(filePath); if(ii!=100) fileName = str.substring(i);………..后面不改.如果头是e://tttt11.PNG,那这个和下面的循环规律不一样,大概写下:if(ii==1)filePath=".PNG";把我上面修改后的代码加到else里就行了(用我上面修改后的代码,不然你的尾还是显不出来).

未经允许不得转载:山九号 » java文件读取路径|java读取文件路径问题

赞 (0)