新聞中心
java問題 我用流讀取一個(gè)txt小說,把小說的內(nèi)容放進(jìn)一個(gè)集合里, 代碼怎么寫?
public static void main(String[] args) {
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的鐵西網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
try{
File file = new File("E:\\a.txt");//創(chuàng)建文件對(duì)象
BufferedReader br = new BufferedReader(new FileReader(file)); //創(chuàng)建讀取流
//讀取數(shù)據(jù)
String temp = br.readLine();
String line;
while((line = br.readLine()) != null){
temp += "," + line;
}
if(temp == null){
System.out.println();
}else{
//分割字符串
String []str = temp.split(",");
//創(chuàng)建double數(shù)組并賦值
Double[] d = new Double[str.length];
for(int i = 0 ;i str.length ;i++){
d[i] = Double.parseDouble(str[i]);
}
//打印double數(shù)組
for(int i = 0 ; i d.length ; i++){
System.out.println(d[i]);
}
}
}catch(Exception e){
}
java語(yǔ)言框架編寫小說閱讀器代碼
int option = -1;
Object options[] = { "Yes", "No" };
option = JOptionPane.showOptionDialog(frame, "是否退出閱讀?", "exit",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
options, options[0]);
switch (option) {
case JOptionPane.YES_OPTION:
System.exit(0);
}
}
誰(shuí)能幫我寫個(gè)Java小項(xiàng)目,是簡(jiǎn)單的,就寫小說TXT閱讀器的好了,最少要用到流和集合。麻煩注釋下可以嗎?
只提供一個(gè)小說閱讀,如下
package?reader;
import?java.awt.*;
import?java.awt.event.*;
import?java.io.*;
import?javax.swing.*;
public?class?Notebook?{
private?JFrame?frame;
private?JTextArea?textArea;
private?JMenuBar?menuBar;
private?JMenu?file,?format,?search,?help;
private?JMenuItem?open,?exit;
private?JMenuItem?font,?color,?background,?speed;
private?JMenuItem?find,?changeto;
private?JMenuItem?helps,?about;
private?Boolean?autoLineWrap?=?true;
private?String?fileName?=?"未命名";//?文件名
//?private?File?currentFile?;
private?JScrollPane?jsp;
private?JScrollBar?jsb;
private?Speed?sped;
private?font?font1;
int?delay?=?10;
Timer?timer?=?new?Timer(delay,?new?ActionListener()?{
public?void?actionPerformed(ActionEvent?evt)?{
jsb.setValue(jsb.getValue()?+?jsb.getUnitIncrement());
}
});
public?Notebook()?{
frame?=?new?JFrame();
frame.setTitle("未命名");
frame.setLayout(new?BorderLayout());
textArea?=?new?JTextArea();
textArea.setFont(new?Font("宋體",?Font.PLAIN,?18));//?設(shè)置默認(rèn)字體樣式字號(hào)
//?set?input?textArea?設(shè)置編輯區(qū)
textArea.setText("");
textArea.setEditable(false);
textArea.setLineWrap(autoLineWrap);//?設(shè)置自動(dòng)換行
jsp?=?new?JScrollPane(textArea);//?set?Scroll
jsb?=?jsp.getVerticalScrollBar();
jsb.addAdjustmentListener(new?AdjustmentListener()?{
public?void?adjustmentValueChanged(AdjustmentEvent?e)?{
int?i;
i?=?jsb.getUnitIncrement();
System.out.println(i);
}
});
frame.add(jsp,?BorderLayout.CENTER);
//?菜單
menuBar?=?new?JMenuBar();
file?=?new?JMenu("文件");
file.setMnemonic('F');
format?=?new?JMenu("格式");
search?=?new?JMenu("搜索");
help?=?new?JMenu("幫助");
menuBar.add(file);
menuBar.add(format);
menuBar.add(search);
menuBar.add(help);
//?文件菜單項(xiàng)
open?=?new?JMenuItem("打開...",?KeyEvent.VK_O);
exit?=?new?JMenuItem("退出");
file.add(open);
file.add(exit);
//?格式菜單項(xiàng)
//?autoLine?=?new?JCheckBoxMenuItem("自動(dòng)換行");
font?=?new?JMenuItem("字體...");
color?=?new?JMenuItem("顏色...");
background?=?new?JMenuItem("背景顏色...");
speed?=?new?JMenuItem("滾屏速度...");
//?format.add(autoLine);
format.add(font);
format.add(color);
format.add(background);
format.add(speed);
//?搜索菜單項(xiàng)
find?=?new?JMenuItem("查找...");
changeto?=?new?JMenuItem("轉(zhuǎn)到...");
search.add(find);
search.add(changeto);
//?幫助菜單項(xiàng)
helps?=?new?JMenuItem("幫助");
about?=?new?JMenuItem("關(guān)于");
help.add(helps);
help.add(about);
//?設(shè)置菜單條
menuBar.add(file);
menuBar.add(format);
menuBar.add(search);
menuBar.add(help);
frame.setJMenuBar(menuBar);
//?sped///
sped?=?new?Speed(jsb,?timer);
font1?=?new?font(textArea);
//?調(diào)用監(jiān)聽方法
addEventHandler();
//?////
textArea.addMouseListener(new?MouseListener()?{
public?void?mouseClicked(MouseEvent?e)?{
if?(e.getClickCount()?==?2)?{
timer.start();
}
if?(e.getClickCount()?==?1)?{
timer.stop();
}
}
public?void?mouseEntered(MouseEvent?arg0)?{
}
public?void?mouseExited(MouseEvent?arg0)?{
}
public?void?mousePressed(MouseEvent?arg0)?{
}
public?void?mouseReleased(MouseEvent?arg0)?{
}
});
//?監(jiān)聽上下鍵//
textArea.addKeyListener(new?KeyListener()?{
@Override
public?void?keyPressed(KeyEvent?arg0)?{
if?(arg0.getKeyCode()?==?KeyEvent.VK_UP)?{
jsb.setValue(jsb.getValue()?-?jsb.getUnitIncrement());
}
if?(arg0.getKeyCode()?==?KeyEvent.VK_DOWN)?{
jsb.setValue(jsb.getValue()?+?jsb.getUnitIncrement());
}
}
public?void?keyReleased(KeyEvent?arg0)?{
}
public?void?keyTyped(KeyEvent?arg0)?{
}
});
//
textArea.addMouseListener(new?MouseListener()?{
@Override
public?void?mouseClicked(MouseEvent?e)?{
if?(e.getClickCount()?==?2)?{
timer.start();
}
if?(e.getClickCount()?==?1)?{
timer.stop();
}
}
public?void?mouseEntered(MouseEvent?arg0)?{
}
public?void?mouseExited(MouseEvent?arg0)?{
}
public?void?mousePressed(MouseEvent?arg0)?{
}
public?void?mouseReleased(MouseEvent?arg0)?{
}
});
}
//?/////////初始化frame////////////////
protected?void?frameInit()?{
Dimension?d?=?Toolkit.getDefaultToolkit().getScreenSize();
frame.setSize(d.width,?d.height);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension?b?=?frame.getSize();
}
private?void?addEventHandler()?{
//?文件項(xiàng)的監(jiān)聽
open.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
fileOpen();
jsb.setValue(0);
}
});
exit.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
fileExit();
}
});
//?格式菜單的監(jiān)聽
font.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
font1.addEventHandler();
}
});
color.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
formatColor();
}
});
background.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
formatBackground();
}
});
speed.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
sped.liser();
}
});
}
//?////////文件項(xiàng)的方法/////////////////////////
private?void?fileOpen()?{
textArea.setText("");
JFileChooser?fileChooser?=?new?JFileChooser();
fileChooser.showOpenDialog(frame);
File?file?=?fileChooser.getSelectedFile();
if?(file?==?null)
return;
fileName?=?file.getName();//?獲得文件名
frame.setTitle(file.getAbsolutePath());
FileInputStream?fis?=?null;
BufferedReader?br?=?null;
try?{
fis?=?new?FileInputStream(file);
br?=?new?BufferedReader(new?InputStreamReader(fis));
String?str?=?null;
while?((str?=?br.readLine())?!=?null)?{
textArea.append(str?+?"\n");
}
System.out.println("打開成功");
textArea.setCaretPosition(0);
}?catch?(IOException?e1)?{
JOptionPane.showMessageDialog(frame,?"文件不存在或已被損壞");
}?finally?{
if?(br?!=?null)
try?{
br.close();
}?catch?(IOException?e)?{
}
if?(fis?!=?null)
try?{
fis.close();
}?catch?(IOException?e)?{
}
}
}
private?void?fileExit()?{
int?option?=?-1;
Object?options[]?=?{?"Yes",?"No"?};
option?=?JOptionPane.showOptionDialog(frame,?"是否退出閱讀?",?"exit",
JOptionPane.YES_NO_OPTION,?JOptionPane.QUESTION_MESSAGE,?null,
options,?options[0]);
switch?(option)?{
case?JOptionPane.YES_OPTION:
System.exit(0);
}
}
//?//////////////////////////////////////////////////////////
//?///////////////格式項(xiàng)的方法/////////////////////////////////
private?void?formatColor()?{
//?彈出顏色色選擇器對(duì)話框
Color?color?=?JColorChooser.showDialog(textArea,?"選擇顏色",?Color.BLACK);
textArea.setForeground(color);
}
private?void?formatBackground()?{
//?彈出顏色色選擇器對(duì)話框
Color?color?=?JColorChooser.showDialog(textArea,?"選擇顏色",?Color.BLACK);
textArea.setBackground(color);
}
//?////////////////////////////////////////////////////////////
public?static?void?main(String?args[])?{
Notebook?nt?=?new?Notebook();
nt.frameInit();
}
}
class?font?{
private?JTextArea?textArea;
private?JButton?ok,?cancel;
private?JComboBox?fontName,?fontSize,?fontStyle;
GraphicsEnvironment?ge;//?定義系統(tǒng)字體對(duì)象
String[]?size?=?{?"8",?"10",?"12",?"14",?"16",?"18",?"20",?"22",?"24",
"26",?"28",?"32",?"36",?"48",?"72",?"96"?};
String[]?style?=?{?"PLAIN",?"BOLD",?"ITALIC"?};
JFrame?jf?=?new?JFrame("字體設(shè)置");
public?font(JTextArea?textArea)?{
this.textArea?=?textArea;
JLabel?label1?=?new?JLabel(
"????字體?????????????????????????????????????????");
JLabel?label2?=?new?JLabel("?字號(hào)????????");
JLabel?label3?=?new?JLabel("?樣式????????");
ge?=?GraphicsEnvironment.getLocalGraphicsEnvironment();//?獲取系統(tǒng)字體
String[]?fontname?=?ge.getAvailableFontFamilyNames();
fontName?=?new?JComboBox(fontname);
fontSize?=?new?JComboBox(size);
fontStyle?=?new?JComboBox(style);
ok?=?new?JButton("確定");
cancel?=?new?JButton("取消");
jf.setLayout(new?BorderLayout());
JPanel?p1?=?new?JPanel();
JPanel?p2?=?new?JPanel();
JPanel?p3?=?new?JPanel();
p1.add(label1);
p1.add(label2);
p1.add(label3);
p2.add(fontName);
p2.add(fontSize);
p2.add(fontStyle);
p3.add(ok);
p3.add(cancel);
jf.add(p1,?BorderLayout.NORTH);
jf.add(p2,?BorderLayout.CENTER);
jf.add(p3,?BorderLayout.SOUTH);
jf.setSize(360,?200);
jf.setLocation(300,?200);
jf.setVisible(false);
jf.setResizable(false);
//?addEventHandler();
}
void?addEventHandler()?{
jf.setVisible(true);
ok.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
String?n1?=?(String)?fontName.getSelectedItem();
int?n2?=?fontStyle.getSelectedIndex();
String?n3?=?(String)?fontSize.getSelectedItem();
textArea.setFont(new?Font(n1,?n2,?Integer.parseInt(n3)));
jf.setVisible(false);
}
});
cancel.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
jf.setVisible(false);//?
}
});
}
}
class?Speed?implements?ItemListener?{
private?JScrollBar?jsb;
private?JFrame?jfrm;
private?JLabel?jlb1;
//?JLabel?jlb2;
private?JButton?jbt;
//?private?JCheckBox?jcheckbox;
private?JComboBox?jcbb;
Integer?sudu;
Timer?timer;
private?Integer?msg[]?=?{?1,?10,?18,?36,?48,?66,?80,?90?};
public?Speed(final?JScrollBar?jsb,?final?Timer?timer)?{
this.jsb?=?jsb;
this.timer?=?timer;
jfrm?=?new?JFrame();
jlb1?=?new?JLabel("滾屏速度");
jbt?=?new?JButton("確定");
//?jcheckbox?=?new?JCheckBox("自動(dòng)滾屏");
jcbb?=?new?JComboBox(msg);
jfrm.setLayout(new?FlowLayout());
jfrm.add(jlb1);
jfrm.add(jcbb);
//?jfrm.add(jcheckbox);?jfrm.add(jbt);
jfrm.setVisible(false);
jcbb.setEditable(true);
jfrm.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
jfrm.pack();
}
void?liser()?{
jfrm.setVisible(true);
//?/////監(jiān)聽復(fù)選框///////////////////////////
jcbb.addItemListener(this);
/*
?*?jcbb.addActionListener(new?ActionListener(){?public?void
?*?actionPerformed(ActionEvent?e)?{
?*?jcbb.setSelectedIndex(jcbb.getSelectedIndex());?}});
?*/
//?///////監(jiān)聽按鈕//////////////////////////
jbt.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?arg0)?{
jfrm.setVisible(false);
}
});
//?////////////////////////////////////
/*
?*?jcheckbox.addItemListener(new?ItemListener(){?public?void
?*?itemStateChanged(ItemEvent?e)?{?if(jcheckbox.isSelected()==false){
?*?System.out.println("false");?timer.stop();?}
?*?if(jcheckbox.isSelected()==true){?timer.start();?}?}}?);
?*/
}
@Override
public?void?itemStateChanged(ItemEvent?arg0)?{
sudu?=?(Integer)?jcbb.getSelectedItem();
//?jcbb.setSelectedItem(msg);//jcbb.updateUI()?;
jsb.setUnitIncrement(sudu.intValue());
}
}
怎樣高效的閱讀JavaWeb項(xiàng)目源代碼
首先要理清楚代碼結(jié)構(gòu)和業(yè)務(wù)結(jié)構(gòu)(應(yīng)該有些文檔或者大的流程圖),這是閱讀具體代碼的前提。
閱讀Java?web項(xiàng)目的代碼:
你需要找到
View層的代碼:前端頁(yè)面、圖片、資源文件都在其中。
Controller層的代碼:控制試圖與模型層以及數(shù)據(jù)傳遞。
Service層的代碼:業(yè)務(wù)邏輯。
Dao層的代碼:數(shù)據(jù)庫(kù)訪問邏輯。
從web.xml?-?appcontext.xml?-?xxx
網(wǎng)站標(biāo)題:java閱讀小說項(xiàng)目代碼 java小說閱讀器代碼
文章URL:http://www.dlmjj.cn/article/dosjjcd.html