對于程序員來說,在進(jìn)行一個新的公司,需要很快的熟悉新的環(huán)境,并且了解公司的所有業(yè)務(wù)。
站在用戶的角度思考問題,與客戶深入溝通,找到阿圖什網(wǎng)站設(shè)計與阿圖什網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋阿圖什地區(qū)。
那么在這個過程中,應(yīng)該如何快速快速熟悉項目中的代碼呢?這是每個程序員在工作中都會遇到的問題,特別是剛剛出來上班的人,這是每個人都需要面對的問題。
下面電腦培訓(xùn)為大家介紹一些有用的方法。
1、瀏覽整個文檔,了解項目的用途企業(yè)級項目,一定會保留一些相關(guān)文件!如要求文件、設(shè)計文件、項目計劃等。
通過閱讀這些文件,可以很好的了解項目的目的和主要功能。
2、熟悉使用的開發(fā)工具每個公司使用的開發(fā)環(huán)境都會有所不同。
熟悉新的開發(fā)環(huán)境,了解常用的功能、快捷方式等是非常重要的,IT培訓(xùn)認(rèn)為特別是在開發(fā)環(huán)境中,很多的使用習(xí)慣前后差異是非常大的。
3、部署項目環(huán)境在了解開發(fā)環(huán)境之后,最重要的就是進(jìn)行項目的環(huán)境部署,這樣項目才能跑起來。
那么進(jìn)行環(huán)境部署有什么優(yōu)勢呢?第一:能夠很好的了解新的開發(fā)環(huán)境。
第二:當(dāng)項目跑起來之后,北大青鳥發(fā)現(xiàn)能夠快速的了解項目的用途和其主要的功能。
4、進(jìn)行項目部分內(nèi)容細(xì)讀對于企業(yè)類的項目,特別是大型的項目和積累的項目,你不能很快的熟悉所有的代碼。
選擇其中的一部分,從界面開始了解每一個小功能,以debug模式一步地持續(xù)下去,四川北大青鳥建議在采用分模塊的方法熟悉整個項目。
想要看到都能java代碼,需要了解編程的基礎(chǔ)知識,變量,表達(dá)式,程序執(zhí)行結(jié)構(gòu),邏輯判斷等等。最重要是要學(xué)會如何調(diào)試代碼,慢慢練習(xí),熟練了自然就會了。
這代碼有兩個重點(diǎn):一是entity是個什么類型,大概是數(shù)據(jù)庫映射的實體類,那么就要多看看相關(guān)的書籍了,二是業(yè)務(wù)邏輯,也就是和訂單相關(guān)的一系列流程,先自己理理。我比較熟悉C#,對java一竅不通,看著和你一樣的發(fā)暈啊。
個人經(jīng)驗,
讀文件有4種方法,
1 按行讀
2 按規(guī)定大小字節(jié)讀
3 按流讀
4 隨機(jī)讀取文件
我認(rèn)為第3種是最好的,而且他是通吃的,
下面是我從網(wǎng)上找來的,你看看有用嗎?
====================================
前兩天用到讀寫文件的操作,上網(wǎng)搜了一些這方面的資料。很有用的。
java中多種方式讀文件
一、多種方式讀文件內(nèi)容。
1、按字節(jié)讀取文件內(nèi)容
2、按字符讀取文件內(nèi)容
3、按行讀取文件內(nèi)容
4、隨機(jī)讀取文件內(nèi)容
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.io.Reader;
public class ReadFromFile {
/**
* 以字節(jié)為單位讀取文件,常用于讀二進(jìn)制文件,如圖片、聲音、影像等文件。
* @param fileName 文件的名
*/
public static void readFileByBytes(String fileName){
File file = new File(fileName);
InputStream in = null;
try {
System.out.println("以字節(jié)為單位讀取文件內(nèi)容,一次讀一個字節(jié):");
// 一次讀一個字節(jié)
in = new FileInputStream(file);
int tempbyte;
while((tempbyte=in.read()) != -1){
System.out.write(tempbyte);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
return;
}
try {
System.out.println("以字節(jié)為單位讀取文件內(nèi)容,一次讀多個字節(jié):");
//一次讀多個字節(jié)
byte[] tempbytes = new byte[100];
int byteread = 0;
in = new FileInputStream(fileName);
ReadFromFile.showAvailableBytes(in);
//讀入多個字節(jié)到字節(jié)數(shù)組中,byteread為一次讀入的字節(jié)數(shù)
while ((byteread = in.read(tempbytes)) != -1){
System.out.write(tempbytes, 0, byteread);
}
} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (in != null){
try {
in.close();
} catch (IOException e1) {
}
}
}
}
/**
* 以字符為單位讀取文件,常用于讀文本,數(shù)字等類型的文件
* @param fileName 文件名
*/
public static void readFileByChars(String fileName){
File file = new File(fileName);
Reader reader = null;
try {
System.out.println("以字符為單位讀取文件內(nèi)容,一次讀一個字節(jié):");
// 一次讀一個字符
reader = new InputStreamReader(new FileInputStream(file));
int tempchar;
while ((tempchar = reader.read()) != -1){
//對于windows下,rn這兩個字符在一起時,表示一個換行。
//但如果這兩個字符分開顯示時,會換兩次行。
//因此,屏蔽掉r,或者屏蔽n。否則,將會多出很多空行。
if (((char)tempchar) != 'r'){
System.out.print((char)tempchar);
}
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
System.out.println("以字符為單位讀取文件內(nèi)容,一次讀多個字節(jié):");
//一次讀多個字符
char[] tempchars = new char[30];
int charread = 0;
reader = new InputStreamReader(new FileInputStream(fileName));
//讀入多個字符到字符數(shù)組中,charread為一次讀取字符數(shù)
while ((charread = reader.read(tempchars))!=-1){
//同樣屏蔽掉r不顯示
if ((charread == tempchars.length)(tempchars[tempchars.length-1] != 'r')){
System.out.print(tempchars);
}else{
for (int i=0; icharread; i++){
if(tempchars[i] == 'r'){
continue;
}else{
System.out.print(tempchars[i]);
}
}
}
}
} catch (Exception e1) {
e1.printStackTrace();
}finally {
if (reader != null){
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
/**
* 以行為單位讀取文件,常用于讀面向行的格式化文件
* @param fileName 文件名
*/
public static void readFileByLines(String fileName){
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行為單位讀取文件內(nèi)容,一次讀一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
//一次讀入一行,直到讀入null為文件結(jié)束
while ((tempString = reader.readLine()) != null){
//顯示行號
System.out.println("line " + line + ": " + tempString);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null){
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
/**
* 隨機(jī)讀取文件內(nèi)容
* @param fileName 文件名
*/
public static void readFileByRandomAccess(String fileName){
RandomAccessFile randomFile = null;
try {
System.out.println("隨機(jī)讀取一段文件內(nèi)容:");
// 打開一個隨機(jī)訪問文件流,按只讀方式
randomFile = new RandomAccessFile(fileName, "r");
// 文件長度,字節(jié)數(shù)
long fileLength = randomFile.length();
// 讀文件的起始位置
int beginIndex = (fileLength 4) ? 4 : 0;
//將讀文件的開始位置移到beginIndex位置。
randomFile.seek(beginIndex);
byte[] bytes = new byte[10];
int byteread = 0;
//一次讀10個字節(jié),如果文件內(nèi)容不足10個字節(jié),則讀剩下的字節(jié)。
//將一次讀取的字節(jié)數(shù)賦給byteread
while ((byteread = randomFile.read(bytes)) != -1){
System.out.write(bytes, 0, byteread);
}
} catch (IOException e){
e.printStackTrace();
} finally {
if (randomFile != null){
try {
randomFile.close();
} catch (IOException e1) {
}
}
}
}
/**
* 顯示輸入流中還剩的字節(jié)數(shù)
* @param in
*/
private static void showAvailableBytes(InputStream in){
try {
System.out.println("當(dāng)前字節(jié)輸入流中的字節(jié)數(shù)為:" + in.available());
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String fileName = "C:/temp/newTemp.txt";
ReadFromFile.readFileByBytes(fileName);
ReadFromFile.readFileByChars(fileName);
ReadFromFile.readFileByLines(fileName);
ReadFromFile.readFileByRandomAccess(fileName);
}
}
二、將內(nèi)容追加到文件尾部
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* 將內(nèi)容追加到文件尾部
*/
public class AppendToFile {
/**
* A方法追加文件:使用RandomAccessFile
* @param fileName 文件名
* @param content 追加的內(nèi)容
*/
public static void appendMethodA(String fileName,String content){
try {
// 打開一個隨機(jī)訪問文件流,按讀寫方式
RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
// 文件長度,字節(jié)數(shù)
long fileLength = randomFile.length();
//將寫文件指針移到文件尾。
randomFile.seek(fileLength);
randomFile.writeBytes(content);
randomFile.close();
} catch (IOException e){
e.printStackTrace();
}
}
/**
* B方法追加文件:使用FileWriter
* @param fileName
* @param content
*/
public static void appendMethodB(String fileName, String content){
try {
//打開一個寫文件器,構(gòu)造函數(shù)中的第二個參數(shù)true表示以追加形式寫文件
FileWriter writer = new FileWriter(fileName, true);
writer.write(content);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String fileName = "C:/temp/newTemp.txt";
String content = "new append!";
//按方法A追加文件
AppendToFile.appendMethodA(fileName, content);
AppendToFile.appendMethodA(fileName, "append end. n");
//顯示文件內(nèi)容
ReadFromFile.readFileByLines(fileName);
//按方法B追加文件
AppendToFile.appendMethodB(fileName, content);
AppendToFile.appendMethodB(fileName, "append end. n");
//顯示文件內(nèi)容
ReadFromFile.readFileByLines(fileName);
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------
寫入文件
try{
FileWriter fw=new FileWriter(SystemConfig.getRealPath()+"WEB-INF/url.txt");
fw.write("movie"+name);
fw.close();
}catch(IOException e){
e.printStackTrace();
}
讀文件中內(nèi)容
try{
FileReader fr = null;
fr = new FileReader(SystemConfig.getRealPath()+"WEB-INF/url.txt");
BufferedReader br=new BufferedReader(fr);
String Line = null;
Line = br.readLine();
while(Line!=null){
s=Line;
Line=null;
br.close();
fr.close();
}
}catch(IOException e1){
e1.printStackTrace();
}
上傳文件
try {
InputStream stream = getUpFile().getInputStream();//把文件讀入
OutputStream bos = new FileOutputStream(filePath + "movie" +name);//建立一個上傳文件的輸出流
int bytesRead = 0;
byte[] buffer = new byte[1026];
while ( (bytesRead = stream.read(buffer, 0, 1026)) != -1) {
bos.write(buffer, 0, bytesRead);//將文件寫入服務(wù)器
}
bos.close();
stream.close();
}catch(Exception e){
System.err.print(e);
}
1、看懂?在之前,我建議至少將JAVA基礎(chǔ)搞的賊啦精。
2、先能看懂自己所學(xué)課程中的范例
3、看懂自己寫的復(fù)雜代碼
4、看懂別人寫的代碼
5、能夠看懂JDK一部分源代碼
1、學(xué)好基本語法,弄清Java的特點(diǎn)
學(xué)習(xí)Java,說白了,就是學(xué)習(xí)它的語法、功能、結(jié)構(gòu)等。然后按照它的語法編寫代碼。Java語法是學(xué)習(xí)的根本。開始學(xué)習(xí)時,可能有些難懂。沒關(guān)系,這很正常。多看多問,多實踐,慢慢的你就入門了。
2、學(xué)習(xí)編程規(guī)范,編程中堅持遵守
俗話說,無規(guī)矩不成方圓。編程是一個將思維邏輯變?yōu)榇a,讓計算機(jī)來執(zhí)行的過程。特別需要規(guī)范。無論是變量、函數(shù)命名還是代碼格式,都需要一致規(guī)范。這樣便于代碼的閱讀和修改。代碼的規(guī)范性,在代碼質(zhì)量中占據(jù)著重要的比重。
3、代碼盡量寫的簡單,易于理解
代碼的簡單性、正確性是最重要的。不要為了追求高效率而寫出晦澀難懂的代碼。后續(xù)閱讀和修改代碼時,你會為晦澀的代碼付出很多代價。記住,盡量將代碼寫成初學(xué) Java就能讀懂的,那么你的代碼就十分的優(yōu)美了。
4、多看別人的代碼
對同一種功能的實現(xiàn),可以有很多種編碼方式。多讀別人的代碼,非常有利用開拓思路,提高編碼的靈活性。甚至經(jīng)??梢詮膭e人的代碼中得到啟發(fā),產(chǎn)生靈感,創(chuàng)作出優(yōu)秀的代碼。
5、選擇一套體系完善的課程
在完善的課程體系中學(xué)習(xí)非常重要,這有助于你掌握系統(tǒng)的Java編程知識和技能,而且好的課程會幫助你前期打好基礎(chǔ),后期有針對性地使你快速提升,這對Java新手來說十分有效。
6、沒有捷徑,一定要多動手實踐
學(xué)習(xí)Java,和學(xué)數(shù)學(xué)一樣,在學(xué)懂理論后,一定要實踐。學(xué)習(xí)Java不能搭便車。有時候,語法和例子很簡單,很容易看懂,但到自己動手寫的時候,又是另一種感覺。只有多動手編程,哪怕是簡單的小程序,重復(fù)實現(xiàn)書上簡單的例子,也是在積累和提高。動手編碼離不開編程工具的支持。