导航:首页 > 版本升级 > java获取服务器上的文件映射

java获取服务器上的文件映射

发布时间:2023-07-26 02:42:56

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进行远程文件的下载,具体实现有很多第三方的包,网络即可。

阅读全文

与java获取服务器上的文件映射相关的资料

热点内容
excel表格文件化乱码 浏览:986
win7无法打开隐藏文件 浏览:757
怎样把压缩文件变成空白文件 浏览:516
wokrNC和UG编程哪个好 浏览:487
爱奇艺随刻文件名 浏览:40
wps是怎么压缩文件 浏览:986
dos配置文件名 浏览:582
java软件工程师做什么 浏览:897
3dmax导出ive文件 浏览:464
数据重复性好是什么意思 浏览:166
如何查找电脑文件使用历史记录 浏览:821
linux可以运行exe的文件吗 浏览:935
库币是哪个国家的app 浏览:201
大智慧internet文件夹有哪些文件 浏览:89
编程培训课程哪个排名好 浏览:124
我的cad怎么没显示文件选项卡 浏览:952
命令行当前是哪个数据库 浏览:588
为什么appstore打开空白 浏览:574
选货车软件什么app最好 浏览:577
psv仙境传说ace如何降级版本 浏览:460

友情链接