从文件路径读取文件流|java实现:如何读取一个文本

从文件路径读取文件流|java实现:如何读取一个文本的第1张示图

❶ java 中配置文件路径读取使用FileReader和InputStream区别和用法

一、按数据来源(去向)分类:1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream3、是Char[]: CharArrayReader, CharArrayWriter4、是String: StringBufferInputStream, StringReader, StringWriter5、网络数据流:InputStream, OutputStream, Reader, Writer二、按是否格式化输出分:1、要格式化输出:PrintStream, PrintWriter三、按是否要缓冲分:1、要缓冲:BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter四、按数据格式分:1、二进制格式(只要不能确定是纯文本的): InputStream, OutputStream及其所有带Stream结束的子类2、纯文本格式(含纯英文与汉字或其他编码方式);Reader, Writer及其所有带Reader, Writer的子类五、按输入输出分:1、输入:Reader, InputStream类型的子类2、输出:Writer, OutputStream类型的子类六、特殊需要:1、从Stream到Reader,Writer的转换类:InputStreamReader, OutputStreamWriter2、对象输入输出:ObjectInputStream, ObjectOutputStream3、进程间通信:PipeInputStream, PipeOutputStream, PipeReader, PipeWriter4、合并输入:SequenceInputStream5、更特殊的需要:PushbackInputStream, PushbackReader, LineNumberInputStream, LineNumberReader决定使用哪个类以及它的构造进程的一般准则如下(不考虑特殊需要):首先,考虑最原始的数据格式是什么: 原则四第二,是输入还是输出:原则五第三,是否需要转换流:原则六第1点第四,数据来源(去向)是什么:原则一第五,是否要缓冲:原则三 (特别注明:一定要注意的是readLine()是否有定义,有什么比read, write更特殊的输入或输出方法)第六,是否要格式化输出:原则二Java中Inputstream与Reader的区别Reader支持16位的Unicode字符输出,InputStream支持8位的字符输出。Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,InputStream、OutputStream是用来处理8位元的流,Reader、Writer是用来处理16位元的流。而在JAVA语言中,byte类型是8位的,char类型是16位的,所以在处理中文的时候需要用Reader和Writer。值得说明的是,在这两种等级机构下,还有一道桥梁InputStreamReader、OutputStreamWriter负责进行InputStream到Reader的适配和由OutputStream到Writer的适配。java.io.Reader 和 java.io.InputStream 组成了 Java输入类。Reader 用于读入16位字符,也就是 Unicode编码的字符;而 InputStream 用于读入 ASCII字符和二进制数据。在 Java中,有不同类型的 Reader 输入流对应于不同的数据源:FileReader 用于从文件输入;CharArrayReader 用于从程序中的字符数组输入;StringReader 用于从程序中的字符串输入;PipedReader 用于读取从另一个线程中的 PipedWriter 写入管道的数据。相应的也有不同类型的 InputStream 输入流对应于不同的数据源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,还有两种没有对应 Reader 类型的 InputStream 输入流:Socket 用于套接字;URLConnection 用于 URL 连接。这两个类使用 getInputStream() 来读取数据。相应的,java.io.Writer 和 java.io.OutputStream 也有类似的区别。

❷ 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实现,最好来个例子

http://wenku..com/view/142bad620b1c59eef8c7b402.html请参考以上的帖子,你说的以指定路径File file = new File("e:\\test.txt");可以用变量来实现,注意在window环境下,分隔号为“\\”String route="e:\\test.txt"File file = new File(route);这样就可以了,你可以通过修改route的值来改变路径至于你说的截取,就是按标志或者数量通过循环截取就行了你可以参考http://wenku..com/view/142bad620b1c59eef8c7b402.html中第25页的方法,指定判定字符,或者添加循环限定

❹ C#.NET里怎么读写流文件

FileStream常用的属性和方法:属性:CanRead判断当前流是否支持读取,返回bool值,True表示可以读取CanWrite判断当前流是否支持写入,返回bool值,True表示可以写入方法:Read()从流中读取数据,返回字节数组Write()将字节块(字节数组)写入该流Seek()设置文件读取或写入的起始位置Flush()清除该流缓冲区,使得所有缓冲的数据都被写入到文件中Close()关闭当前流并释放与之相关联的所有系统资源文件的访问方式:(FileAccess)包括三个枚举:FileAccess.Read(对文件读访问)FileAccess.Write(对文件进行写操作)FileAccess.ReadWrite(对文件读或写操作)文件打开模式:(FileMode)包括6个枚举FileMode.Append打开现有文件准备向文件追加数据,只能同FileAccess.Write一起使用FileMode.Create指示操作系统应创建新文件,如果文件已经存在,它将被覆盖FileMode.CreateNew指示操作系统应创建新文件,如果文件已经存在,将引发异常FileMode.Open指示操作系统应打开现有文件,打开的能力取决于FileAccess所指定的值FileMode.OpenOrCreate指示操作系统应打开文件,如果文件不存在则创建新文件FileMode.Truncate指示操作系统应打开现有文件,并且清空文件内容文件共享方式:(FileShare)FileShare方式是为了避免几个程序同时访问同一个文件会造成异常的情况。文件共享方式包括四个:FileShare.None谢绝共享当前文件FileShare.Read充许别的程序读取当前文件FileShare.Write充许别的程序写当前文件FileShare.ReadWrite充许别的程序读写当前文件使用FileStream类创建文件流对象:FileStream(String文件路径,FileMode文件打开模式)FileStream(String文件路径,FileMode文件打开模式,FileAccess文件访问方式)FileStream(String文件路径,FileMode文件打开模式,FileAccess文件访问方式,FileShare文件共享方式)例://在C盘创建a.txt文件,使用fs流对象对文件进行操作,fs的工作模式是新建(FileMode.Create)FileStreamfs=newFileStream(@"c:a.txt",FileMode.Create);//在C盘创建a.txt文件,使用fs流对象对文件进行操作,fs工作模式是新建(FileMode.Create)文件的访问模式是写入(Fileaccess.Write)FileStreamfs=newFileStream(@"c:a.txt",FileMode.Create,FileAccess.Write);//在C盘创建a.txt文件,使用fs流对象对文件进行操作,fs工作模式是新建(FileMode.Create)文件的访问模式是写入(FileAccess.Write)文件的共享模式是谢绝共享(FileShare.None)FileStreamfs=newFileStream(@"c:a.txt",FileMode.Create,FileAccess.Write,FileShare.None);使用File类来创建对象:(常用)自定义打开文件的方式:File.Open(String,FileMode);打开文件进行读取:File.OpenRead(String);打开文件进行写入:File.OpenWrite(String);示例如下://在C盘新建123.txt文件,使用流对象fs对文件进行操作,fs可以行文件内容追加操作FileMode.AppendFileStreamfs=File.Open(@"c:123.txt",FileMode.Append);//在C盘新建123.txt文件,使用流对象fs对文件进行操作,fs可以进行读文件File.OpenRead()FileStreamfs=File.OpenRead(@"c:123.txt");//在C盘新建123.txt文件,使用流对象fs对文件进行操作,fs可以进行写操作File.OpenWrite()FileStreamfs=File.OpenWrite(@"c:123.txt");使用File例:对文件进行读操作://新建fs流对象对象产生的路径是textbox1.text的值,文件的模式是FileMode.OpenOrCreate(可读可写)using(FileStreamfs=File.Open(textBox1.Text,FileMode.OpenOrCreate)){//新建字节型数组,数组的长度是fs文件对象的长度(后面用于存放文件)byte[]bt=newbyte[fs.Length];//通过fs对象的Read方法bt得到了fs对象流中的内容fs.Read(bt,0,bt.Length);//关闭fs流对象fs.Close();//将bt字节型数组中的数据由Encoding.Default.GetString(bt)方法取出,交给textbox2.texttextBox2.Text=System.Text.Encoding.Default.GetString(bt);}对文件进行写入操作://新建fs流对象,对象操作的文件路径在textbox1.text中,fs的操作模式是FileMode.Createusing(FileStreamfs=File.Open(textBox1.Text,FileMode.Create)){//新建字节型数组bt对象,bt对象得到了textbox2.text的Encoding的值byte[]bt=System.Text.Encoding.Default.GetBytes(textBox2.Text);//将bt字节型数组对象的值写入到fs流对象中(文件)fs.Write(bt,0,bt.Length);//关闭流对象fs.Close();}注:对文件的读写操多不管代码有多少,无非就是下面的三步:1.创建文件读写流对象2.对文件进行读写3.关闭文件流

❺ 文件流怎么获取网络路径

在请求头里设置Range,可以拿到不同的部分,前提还需要webserver支持。 /***开始下载*@throwsException*/publicvoidstartDown()throwsException{HttpClienthttpClient=newDefaultHttpClient();try{//获取下载文件信息getDownloadFileInfo(httpClient);//启动多个下载线程startDownloadThread();//开始监视下载数据monitor();}catch(Exceptione){throwe;}finally{httpClient.getConnectionManager().shutdown();}}/***获取下载文件信息*/(HttpClienthttpClient)throwsIOException,ClientProtocolException,Exception{HttpHeadhttpHead=newHttpHead(url);HttpResponseresponse=httpClient.execute(httpHead);//获取HTTP状态码intstatusCode=response.getStatusLine().getStatusCode();if(statusCode!=200)thrownewException(“资源不存在!”);if(getDebug()){for(Headerheader:response.getAllHeaders()){System.out.println(header.getName()+”:”+header.getValue());}}//Content-LengthHeader[]headers=response.getHeaders(“Content-Length”);if(headers.length>0)contentLength=Long.valueOf(headers[0].getValue());httpHead.abort();httpHead=newHttpHead(url);httpHead.addHeader(“Range”,”bytes=0-“+(contentLength-1));response=httpClient.execute(httpHead);if(response.getStatusLine().getStatusCode()==206){acceptRanges=true;}httpHead.abort();}/***启动多个下载线程*@throwsIOException*@throwsFileNotFoundException*/()throwsIOException,FileNotFoundException{//创建下载文件Filefile=newFile(localPath);file.createNewFile();RandomAccessFileraf=newRandomAccessFile(file,”rw”);raf.setLength(contentLength);raf.close();//定义下载线程事件实现类=newDownloadThreadListener(){publicvoidafterPerDown(DownloadThreadEventevent){//下载完一个片段后追加已下载字节数synchronized(object){DownloadTask.this.receivedCount+=event.getCount();}}publicvoiddownCompleted(DownloadThreadEventevent){//下载线程执行完毕后从主任务中移除threads.remove(event.getTarget());if(getDebug()){System.out.println(“剩余线程数:”+threads.size());}}};//不支持多线程下载时if(!acceptRanges){if(getDebug()){System.out.println(“该地址不支持多线程下载”);}//定义普通下载DownloadThreadthread=newDownloadThread(url,0,contentLength,file,false);thread.addDownloadListener(listener);thread.start();threads.add(thread);return;}//每个请求的大小longperThreadLength=contentLength/threadCount+1;longstartPosition=0;longendPosition=perThreadLength;//循环创建多个下载线程do{if(endPosition>=contentLength)endPosition=contentLength-1;DownloadThreadthread=newDownloadThread(url,startPosition,endPosition,file);thread.addDownloadListener(listener);thread.start();threads.add(thread);startPosition=endPosition+1;//此处加1,从结束位置的下一个地方开始请求endPosition+=perThreadLength;}while(startPosition<contentLength);}

❻ java实现:如何读取一个文本,通过里面的文件路径读取文件内容

public class Test { public static void main(String[] args) { readFileByChars("d://test.txt"); } public static void readFileByChars(String fileName) { File file = new File(fileName); Reader reader = null; try { if (file!=null) { // 一次读多个字符 char[] tempchars = new char[30]; int charread = 0; reader = new InputStreamReader(new FileInputStream(fileName)); // 读入多个字符到字符数组中,charread为一次读取字符数 while ((charread = reader.read(tempchars)) != -1) { // 同样屏蔽掉\r不显示 if ((charread == tempchars.length) && (tempchars[tempchars.length – 1] != '\r')) { System.out.print(tempchars); } else { for (int i = 0; i < charread; i++) { if (tempchars[i] == '\r') { continue; } else { System.out.print(tempchars[i]); } } } } } } catch (Exception e1) { e1.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { System.out.println("文件不存在"); } } } }}

❼ c#根据路径读取文件

SliverLight运行在客户端,是不允许主动构造FileInfo来访问用户文件的,这是个安全限制。

❽ 如何正确读取文件路径

打开电脑上的文件夹,选中一个文件,可以看到此文件的完整路径并非用反斜杠字内符分隔文容件夹名来显示完整的文件或文件夹路径。

接下来请点击地址栏空白处

点击地址栏空白处后,此时在地址栏就显示了完整的文件路径,

选中显示出来的完整文件路径,鼠标右键,从快捷菜单中选择复制,即可把此文件的路径完整复制下来了。

还有一个方法:按shift键不放,再右击文件从弹出的快捷菜单中选择“复制为路径”,也能拷贝一个文件的完整路径,如下图所示。"E:电脑资料备份数据库语言K3如何在数据库更改计量单位.doc"

在需要的地方比如在运行中粘贴一下,即可显示出来此文件的完整路径。

点击“确定”按钮后,就可以直接打开此WORD文档

❾ java如何读取文件流是什么格式

被读取的文件可以放在硬盘的任意位置。 只要你新建文件IO流对象的时候把文件的物理路径写对就行了。代码例子如下:

❿ 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实现:如何读取一个文本

赞 (0)