java文件無法編輯的問題(java文件無法編輯的問題怎麼解決)

本文目錄一覽:

intellij idea java文件只讀不可編輯怎麼解決?

你這邊應該是文件不小心點擊到了鎖定文件。打開鎖定文件的窗口,選擇File如圖選項:

解鎖則選擇Make File Writeable

為什麼Windows7無法打開.Java文件?

Windows7無法打開.Java文件是因為沒有裝文本編輯器,最常用的是windows默認的記事本程序打開。

1、打開.java文件所在的目錄:

2、右鍵選擇打開方式,然後選擇「記事本」即可:

3、打開後的效果:

java寫二進位文件,不能直接編輯,該怎麼操作?

一直以來都在用java編程,以前在Java寫一些二進位格式的文件,就用DataOutputStream很方法,例如它的writeInt,writeLong等,我今天在看一些代碼的時候發現DataOutputStream在處理多位元組的數字的時候,使用的是BIG_ENDIAN(即將高位的位元組放在內存地址的低地址上),相應的DataInputStream的讀取方式也使用的是BIG_ENDIAN。

這樣就引出一個問題,如果我是用Java之外的語言,比如C語言讀取由DataOutputStream生成的文件,而平台正好是LITTLE_ENDIAN(用得很廣泛的x86的系統都是LITTLE_ENDIAN),很可能會造成數據錯誤,除非在C程序中自己重新按照BIG_ENDIAN的格式組裝int或者long.

這樣我們需要在寫文件的時候就按照平台的位元組順來寫,而ByteBuffer已經考慮到了這一點。

java.nio.ByteBuffer默認是BIG_ENDIAN(這可能和ByteBuffer主要用來做網路通訊有關),但是這個值是可以修改的。

比較使用DataOutputStream和ByteBuffer寫文件的差異:

public static void main(String[] args) throws IOException {

int _int = 12345678;

ByteBuffer _nbuffer = ByteBuffer.allocate(4);

_nbuffer.order(ByteOrder.nativeOrder()); //將新建的ByteBuffer設置為本機的位元組順

_nbuffer.putInt(_int);

_nbuffer.flip();

FileOutputStream _fou = new FileOutputStream(“test_dout.data”);

FileOutputStream _nfou = new FileOutputStream(“test_nbuf.data”);

DataOutputStream _dou = new DataOutputStream(_fou);

_dou.writeInt(_int);

_dou.close();

_nfou.write(_nbuffer.array());

_nfou.close();

System.out.println(ByteOrder.nativeOrder());

}

執行上面的代碼生成兩個文件:

test_dout.data - 使用DataOutputStream生成的BIG_ENDIAN文件,

test_nbuf.data - 使用ByteBuffer生成的主機位元組順的文件(此處的主機位元組順為LITTLE_ENDIAN)

使用下面的C程序分別讀取這兩個文件:

#include stdio.h

int read_file(char* file);

main()

{

char* dout = “test_dout.data”;

char* nbuf = “test_nbuf.data”;

printf(“data in %s:%d\n”,dout,read_file(dout));

printf(“data in %s:%d\n”,nbuf,read_file(nbuf));

}

int read_file(char* file)

{

FILE *fp;

int dat[1];

fp=fopen(file, “rb”);/*打開一個二進位文件只讀*/

fread(dat, sizeof(int), 1, fp);

fclose(fp);

return dat[0];

}

編譯並執行:

gcc a.c

./a.out

data in test_dout.data:1315027968

data in test_nbuf.data:12345678

上面的C程序從test_dout.data取得的int數值是錯誤的,而從test_nbuf.data是正確的。

ByteBuffer不方便的地方在於它的大小不能自動擴展,但是也是可以解決的,比如MINA自己的ByteBuffer就支持自成擴展。

Java的生成二進位數據文件,應該要考慮一下位元組順的問題,以適應一些特殊的需求,比如多語言平台編程的情況。

idea java文件只讀狀態 不可編輯怎麼修改回可編輯狀態…啊…各位親……

Cannot

modify

a

read-only

file

‘xxx.class’

我是路徑下的點錯了,打開了out目錄下的文件,

重新從src找到該文件,雙擊打開就行了.

SB錯誤

Android開發中為什麼從svn下載的java文件不能編輯

從文件夾選項中,取消「隱藏艘保護的操作系統文件」,選取「顯示隱藏的文件、文件夾和驅動器」。然後將你下載的代碼目錄下所有名稱為「.svn「的文件夾整個刪除,然後你就可以隨意修改文件了。

eclipse中代碼無法編輯

eclipse中代碼無法編輯是設置錯誤造成的,解決方法為;

1、打開Eclipse。

2、打開Windows→Preferences。

3、點擊Java→Editor→Content Assist。

4、修改Auto Activation triggers for java的值為:.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW,點擊apply按鈕。

5、如需修改代碼提示的顯示時間,則修改Auto Activation delay的值為你所需的時間,單位是ms。如:輸入100,則代表等待代碼提示的時間為100ms。

原創文章,作者:H7QUZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/130801.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
H7QUZ的頭像H7QUZ
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相關推薦

發表回復

登錄後才能評論