本文目錄一覽:
- 1、intellij idea java文件只讀不可編輯怎麼解決?
- 2、為什麼Windows7無法打開.Java文件?
- 3、java寫二進位文件,不能直接編輯,該怎麼操作?
- 4、idea java文件只讀狀態 不可編輯怎麼修改回可編輯狀態…啊…各位親……
- 5、Android開發中為什麼從svn下載的java文件不能編輯
- 6、eclipse中代碼無法編輯
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