❶ java 读取 500M文件中间的内容
以下方案切实可行~import java.io.File;import java.io.RandomAccessFile;import java.nio.MappedByteBuffer;import java.nio.channels.FileChannel;public class t { public static void main(String[] args) throws Exception { final int BUFFER_SIZE = 0x300000;// 缓冲去大小为3M File f = new File("C:\\Documents and Settings\\XHY\\桌面\\a.txt"); /** * map(FileChannel.MapMode mode,long position, long size) * mode – 根据是按只读、读取/写入或专用(写入时拷贝)来映射文件,分别为 FileChannel.MapMode 类中所定义的 READ_ONLY、READ_WRITE 或 PRIVATE 之一 * position – 文件中的位置,映射区域从此位置开始;必须为非负数 * size – 要映射的区域大小;必须为非负数且不大于 Integer.MAX_VALUE * 所以若想读取文件后半部分内容,如例子所写;若想读取文本后1/8内容,需要这样写map(FileChannel.MapMode.READ_ONLY, f.length()*7/8,f.length()/8) */ MappedByteBuffer inputBuffer = new RandomAccessFile(f, "r").getChannel().map(FileChannel.MapMode.READ_ONLY, f.length()/2,f.length()/2); byte[] dst = new byte[BUFFER_SIZE];// 每次读出3M的内容 Long start = System.currentTimeMillis(); for (int offset = 0; offset < inputBuffer.capacity(); offset += BUFFER_SIZE) { if (inputBuffer.capacity() – offset >= BUFFER_SIZE) { for (int i = 0; i < BUFFER_SIZE; i++) dst[i] = inputBuffer.get(offset + i); } else { for (int i = 0; i < inputBuffer.capacity() – offset; i++) dst[i] = inputBuffer.get(offset + i); } int length = (inputBuffer.capacity()%BUFFER_SIZE==0)?BUFFER_SIZE:inputBuffer.capacity()%BUFFER_SIZE; // System.out.println(new String(dst,0,length));//new String(dst,0,length)这样可以取出缓存保存的字符串,可以对其进行操作 } long end = System.currentTimeMillis(); System.out.println("读取文件文件一半内容花费:"+(end-start)+"毫秒"); }}
❷ java 读取服务器上的文件
File file = new File(ServletActionContext.getServletContext().getRealPath(“/”),"test.txt");"/"是web项目的根目录,然后就和读本地文件的一样
❸ java 如何获取另外一台机器上的文件
另外一台机器的文件要共享才行吧,最直接的其它机器共享后在本地建一个网络映射,就像读本机的文件一样
❹ 如何在java中操作映射盘(网络盘)的文件
通过io流读入,然后写入response
❺ 怎么使用Java完成下载excel文件,服务器上excel文件是直接存在的而不是导出的(必须使用action)
写个文件抄专门提供下载文件也可以,但那样对于你这种情况明显多余了,把服务器端Excel文件的MIME类型映射信息改成application/octet-stream即可。这个映射可以在web.xml中定义。
❻ java在服务器上获取本项目文件问题
request.getSession().getServletContext().getRealPath("/")+"img/hswatermark.png";——————————————————————————————-
❼ [java]如何在windows下读取远程的linux下面的文件
这个功能和系统无关……http ftp 都行,直接网络映射也可以,但是需要对方的 Linux 支持。所以一般还是 http/ftp 方便很多。———–update:只要两边都支持的文件传送协议就行了。
❽ Java怎么读取远程服务器上的共享文件夹
ava获取远程文件的方式在我的开发过程中使用过两种1。通过http请求进行静态资源,首先确定文件的URL地址,然后通过URLConnection进行连接,然后通过读取连接中返回的InputStream,再通过文件输出流FileOutputStream进行存储(下载)。2.通过FTP或SFTP进行远程文件的下载,具体实现有很多第三方的包,网络即可。