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

熱點內容
汽車故障診斷數據採集有什麼用 瀏覽:594
手機對手機傳文件最快 瀏覽:103
文件預覽窗格圖片怎麼放大 瀏覽:699
自動編程適用於哪些情況 瀏覽:686
樂高編程課是學什麼的幼兒園 瀏覽:880
照片刪除了在哪個文件夾 瀏覽:513
電腦怎麼把文件圖片變大 瀏覽:565
紅米1s藍牙能升級嗎 瀏覽:222
javadbx 瀏覽:486
xls文件轉sel文件 瀏覽:300
手機系統老是升級失敗是怎麼回事 瀏覽:456
求個能用的蘋果賬號 瀏覽:419
如何快速把文件夾里重復的歌刪除 瀏覽:606
如何用編程求雞兔同籠 瀏覽:604
word2007圖片選擇 瀏覽:630
特化頭文件 瀏覽:683
資料庫系統概論薩師煊王珊 瀏覽:381
信用玩家app更名為什麼 瀏覽:720
caffe對應的vs版本 瀏覽:205
社交類app廣告語 瀏覽:890

友情鏈接