java中io操作时,路径问题

问题描述

java操作时,对于文件的路径一直不是很清楚,还有就是相对路径和绝对路径,最重要的是windows系统的转义字符的问题。能否详细的说说。

解决方案

解决方案二:

46.15%看你的结帖率估计老竹子不会回你的哈哈
解决方案三:

路径,这个你还是去补习一下基础知识吧。我就不多说了。
解决方案四:

路径问题,楼主不需要关心转义字符,全部用"/"号代替就是了.java会自动帮你处理如:path="c:/folder1/folder2/aa.txt"你用"/"代替""在windows及linux下都可以通用
解决方案五:

JAVA.IO.FILE里有静态字段...自己去找..
解决方案六:

windows:d:\text.txt或d:/text.txt
解决方案七:

File.separator与系统有关的默认名称分隔符
解决方案八:

JDK开发者为了实现java的平台无关性现在路径都用“/”newFile()的就是文件的路径
解决方案九:

关于相对路径和绝对路径,可以看一下面的程序.importjava.io.File;importjava.io.IOException;importjava.io.InputStream;importjava.net.URL;publicclassPathTest{/**在E:gamedev下执行javaorg.firstgame.test.PathTest*/publicstaticvoidmain(String[]args)throwsIOException{//得到执行时的classpath路径/E:/workspace/FirstGame/bin/URLurl=Thread.currentThread().getContextClassLoader().getResource("");Stringpath="";if(url!=null){path=url.getPath();System.out.println("1:"+path);}//得到执行时的classpath路径/E:/workspace/FirstGame/bin/url=PathTest.class.getClassLoader().getResource("");if(url!=null){path=url.getPath();System.out.println("2:"+path);}//得到执行时的classpath路径/E:/workspace/FirstGame/bin/url=ClassLoader.getSystemResource("");if(url!=null){path=url.getPath();System.out.println("3:"+path);}//执行时的应用根目录E:workspaceFirstGameFilef=newFile("");path=f.getCanonicalPath();//标准路径,跟absolutePath只差一个文件名System.out.println("4:"+path);//得到执行时.class所在的目录/E:/workspace/FirstGame/bin/url=PathTest.class.getResource("");if(url!=null){path=url.getPath();System.out.println("5:"+path);}url=Thread.currentThread().getContextClassLoader().getResource("org/firstgame/test/PathTest.class");if(url!=null){path=url.getPath();System.out.println("6:"+path);}url=PathTest.class.getClassLoader().getResource(".project");if(url!=null){path=url.getPath();System.out.println("7:"+path);}url=PathTest.class.getResource("/org/firstgame/test/PathTest.class");if(url!=null){path=url.getPath();System.out.println("8:"+path);}}}

系统转义字符,是指路径分隔符吗?还有换行符的问题?File.separator是与环境无关的路径分隔符.换行符要这样取,才与OS环境无关.System.getProperty("line.separator");

时间: 2024-11-03 21:39:57

java中io操作时,路径问题的相关文章

java中IO操作 利用文件流 过滤流对文件进行读写操作

/* 两种基本的流是:输入流(Input Stream)和输出流(Output Stream) .可从中读出一系列字节的对象称为输入流. 而能向其中写入一系列字节的对象称为输出流. System.out.println   中的 out 是 PrintStream 类对象   System类的静态成员可以向 输出流写入数据 System.in.read()     in 是InputStream类的成员 可以从键盘等输入设备读取字节数据  利用FileInputStream   FileOutp

Java中IO流缓冲区的装饰模式的体现

一.Java中IO流缓冲区 import java.io.*; public class BufferedTest {public static void copy1(){InputStream is = null;OutputStream os = null;try{is = new FileInputStream("c:\\xy1.jpg");os = new FileOutputStream("d:\\xy2.jpg");int len = 0;byte[]

java中的操作句柄的问题

问题描述 java中的操作句柄的问题 在学习java的过程中,遇到这样一个问题:值传递和引用传递 我知道在所谓的值传递,仅仅是复制,然后传递,这样修改的值不会影响原值(基本数据类型都是值传递) 而引用传递是传的事地址,这样修改的话,原值也会被修改(类似于函数的参数如果是一个对象的话) 以上是我的理解,不对之处,请各位指正和补充(新人初学,谢谢) 但是还有这样一个问题: A a = B.方法 这条语句和A a = new A();创建对象有点像,之前问过一次,但是不是很理解,所以再次问下,还望各位

对象-java中io等非托管资源close与赋值为null有什么区别

问题描述 java中io等非托管资源close与赋值为null有什么区别 io操作如果没有close而直接赋值为null有什么后果,而close之后又没有赋值为null,也就是还有对象的引用,那这个对象会不会释放内存,垃圾回收器会不会回收它 Reader reader = new InputstreamReader(new FileInputStream()); 如果reader.close()关闭了reader的资源 则FileInputStream的资源有没有关闭 ,没关闭的话如何关闭 解决

Java中new DerivedClass()时背后发生的事情

Java中new DerivedClass()时背后发生的事情 (原创 – 邵正军, 2005-4-5)   class DerivedClass extends BaseClass {-} new DerivedClass();   1           装载class 1.1          载入BaseClass , 产生了此处说明的序列步骤(即: [装载class])的递归. 1.2          载入DerivedClass 1.2.1     为类作用域变量分配存储空间,并赋

初始化-java中jacob操作word文档

问题描述 java中jacob操作word文档 org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.ExceptionInInitializerError Caused by: java.lang.ExceptionInInitializerError Caused by: java.lang.IllegalStateExcept

java中创建数组时内存怎么分配????

问题描述 java中创建数组时内存怎么分配???? int[] arr=new int[3]; 问题: 上面创建int数组时,怎么分配内存的?arr是一个引用变量,是通过指针指向new int[3](存在堆里面)对吧,那么,栈里面为arr分配几个指针,是3个还是1个? 补充: 疑问1****: 其实我就是想知道java中创建数组时,栈中分配几个指针,是一个还是"数组长度"个? 疑问2****: 如果是一个,那么,这个指正指向谁???? 疑问3****: 如果指向的是第一个元素,那么,该

移动开发-安卓中io操作必须独立于ui线程?

问题描述 安卓中io操作必须独立于ui线程? 最近在学习安卓开发,看到网上有说io操作比如文件读写,蓝牙通信等需要放入单独的工作线程中,独立于activity的ui线程--是必须如此吗?还是一般建议如此?主要考虑什么因数呢?谢谢 解决方案 数据少量且快速的IO操作是可以放在UI线程的,比如说少量的文件数据读取或者是写入之类的.. 但是如果涉及到数据量较大或者速度较慢的IO操作比如网络请求或者是蓝牙通信,避免放在UI线程中,这会阻塞UI线程,严重的时候甚至会导致app直接闪退报错.. 建议这些耗时

如何解决:文件复制-C#实现的IO操作时出现异常 “请求的操作无法在使用用户映射区域打开的文件上执行”

问题描述 C#实现的IO操作时出现异常 "请求的操作无法在使用用户映射区域打开的文件上执行" C#实现的IO操作时出现异常 "请求的操作无法在使用用户映射区域打开的文件上执行",请大神指教! 解决方案 http://blog.itpub.net/29867/viewspace-321913/http://blog.csdn.net/yulongblue/article/details/6306203 #*# jetty->请求的操作无法在使用用户映射区域打开的