導航:首頁 > 版本升級 > 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獲取伺服器上的文件映射相關的資料

熱點內容
數控車床動態切削怎麼編程 瀏覽:278
app二進制文件 瀏覽:936
少兒學編程去哪個知名學校 瀏覽:428
smt編程和軟體編程哪個難學 瀏覽:748
為什麼資料庫系統具有數據與程序的獨立性 瀏覽:127
什麼是品牌型網站 瀏覽:715
u哩app怎麼屏幕共享 瀏覽:920
微信公眾號開發nodejs 瀏覽:8
nodejs社交 瀏覽:51
java文件壓縮與解壓縮 瀏覽:426
電腦自帶畫圖工具下載 瀏覽:41
jsp正則表達式怎麼用 瀏覽:26
可以編程的模塊有哪些 瀏覽:896
程序員求婚代碼 瀏覽:328
java可以繼承多個抽象類嗎 瀏覽:691
烈焰焚步是哪個文件 瀏覽:169
自動收文件軟體 瀏覽:514
django之歌簡易博客搭建教程 瀏覽:454
記錄儀多個文件夾是什麼 瀏覽:708
centoscrash工具 瀏覽:615

友情鏈接