哪位大仙能给个JAVA温度计的程序,要摄氏和华氏都有的,急求啊~~帮帮忙,JAVA白痴诚心请教!

2024-05-16 14:28

1. 哪位大仙能给个JAVA温度计的程序,要摄氏和华氏都有的,急求啊~~帮帮忙,JAVA白痴诚心请教!

输入什么输出什么?是温度转换还是调用硬件接口测实际温度?

哪位大仙能给个JAVA温度计的程序,要摄氏和华氏都有的,急求啊~~帮帮忙,JAVA白痴诚心请教!

2. 求好心人帮找或做个JAVA画板程序 代码,主要能实现简单的画板功能!

取个叫pb.java的文件拷贝进去(pb类为main入口),直接运行
——————————————
楼主,
不好意思我是学j2ee的,GUI不会,你看我以前的回答一个awt和swing都没有的,这是我们项目组一个牛人的代码,我在我的新系统中嵌入的,我实在无能为力,你觉的好就用不好我也没办法的,
楼主你可以等等看,应该还有牛人有解决方法
————————————————
import java.applet.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.util.*; 
import javax.swing.*; 
import java.awt.geom.*; 
import java.io.*; 

class Point implements Serializable 
{ 
int x,y; 
Color col; 
int tool; 
int boarder; 

Point(int x, int y, Color col, int tool, int boarder) 
{ 
this.x = x; 
this.y = y; 
this.col = col; 
this.tool = tool; 
this.boarder = boarder; 
} 
} 


class paintboard extends Frame implements ActionListener,MouseMotionListener,MouseListener,ItemListener 
{ 
int x = -1, y = -1; 
int con = 1;//画笔大小 
int Econ = 5;//橡皮大小 

int toolFlag = 0;//toolFlag:工具标记 
//toolFlag工具对应表: 
//(0--画笔);(1--橡皮);(2--清除); 
//(3--直线);(4--圆);(5--矩形); 

Color c = new Color(0,0,0); //画笔颜色 
BasicStroke size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);//画笔粗细 
Point cutflag = new Point(-1, -1, c, 6, con);//截断标志 

Vector paintInfo = null;//点信息向量组 
int n = 1; 

FileInputStream picIn = null; 
FileOutputStream picOut = null; 

ObjectInputStream VIn = null; 
ObjectOutputStream VOut = null; 


// *工具面板--画笔,直线,圆,矩形,多边形,橡皮,清除*/ 
Panel toolPanel; 
Button eraser, drLine,drCircle,drRect; 
Button clear ,pen; 
Choice ColChoice,SizeChoice,EraserChoice; 
Button colchooser; 
Label 颜色,大小B,大小E; 
//保存功能 
Button openPic,savePic; 
FileDialog openPicture,savePicture; 


paintboard(String s) 
{ 
super(s); 
addMouseMotionListener(this); 
addMouseListener(this); 

paintInfo = new Vector(); 

/*各工具按钮及选择项*/ 
//颜色选择 
ColChoice = new Choice(); 
ColChoice.add("black"); 
ColChoice.add("red"); 
ColChoice.add("blue"); 
ColChoice.add("green"); 
ColChoice.addItemListener(this); 
//画笔大小选择 
SizeChoice = new Choice(); 
SizeChoice.add("1"); 
SizeChoice.add("3"); 
SizeChoice.add("5"); 
SizeChoice.add("7"); 
SizeChoice.add("9"); 
SizeChoice.addItemListener(this); 
//橡皮大小选择 
EraserChoice = new Choice(); 
EraserChoice.add("5"); 
EraserChoice.add("9"); 
EraserChoice.add("13"); 
EraserChoice.add("17"); 
EraserChoice.addItemListener(this); 
//////////////////////////////////////////////////// 
toolPanel = new Panel(); 

clear = new Button("清除"); 
eraser = new Button("橡皮"); 
pen = new Button("画笔"); 
drLine = new Button("画直线"); 
drCircle = new Button("画圆形"); 
drRect = new Button("画矩形"); 

openPic = new Button("打开图画"); 
savePic = new Button("保存图画"); 

colchooser = new Button("显示调色板"); 

//各组件事件监听 
clear.addActionListener(this); 
eraser.addActionListener(this); 
pen.addActionListener(this); 
drLine.addActionListener(this); 
drCircle.addActionListener(this); 
drRect.addActionListener(this); 
openPic.addActionListener(this); 
savePic.addActionListener(this); 
colchooser.addActionListener(this); 


颜色 = new Label("画笔颜色",Label.CENTER); 
大小B = new Label("画笔大小",Label.CENTER); 
大小E = new Label("橡皮大小",Label.CENTER); 
//面板添加组件 
toolPanel.add(openPic); 
toolPanel.add(savePic); 

toolPanel.add(pen); 
toolPanel.add(drLine); 
toolPanel.add(drCircle); 
toolPanel.add(drRect); 

toolPanel.add(颜色); toolPanel.add(ColChoice); 
toolPanel.add(大小B); toolPanel.add(SizeChoice); 
toolPanel.add(colchooser); 

toolPanel.add(eraser); 
toolPanel.add(大小E); toolPanel.add(EraserChoice); 


toolPanel.add(clear); 
//工具面板到APPLET面板 
add(toolPanel,BorderLayout.NORTH); 

setBounds(60,60,900,600); setVisible(true); 
validate(); 
//dialog for save and load 

openPicture = new FileDialog(this,"打开图画",FileDialog.LOAD); 
openPicture.setVisible(false); 
savePicture = new FileDialog(this,"保存图画",FileDialog.SAVE); 
savePicture.setVisible(false); 

openPicture.addWindowListener(new WindowAdapter() 
{ 
public void windowClosing(WindowEvent e) 
{ openPicture.setVisible(false); } 
}); 

savePicture.addWindowListener(new WindowAdapter() 
{ 
public void windowClosing(WindowEvent e) 
{ savePicture.setVisible(false); } 
}); 

addWindowListener(new WindowAdapter() 
{ 
public void windowClosing(WindowEvent e) 
{ System.exit(0);} 
}); 


} 

public void paint(Graphics g) 
{ 
Graphics2D g2d = (Graphics2D)g; 

Point p1,p2; 

n = paintInfo.size(); 

if(toolFlag==2) 
g.clearRect(0,0,getSize().width,getSize().height);//清除 

for(int i=0; i<n ;i++){ 
p1 = (Point)paintInfo.elementAt(i); 
p2 = (Point)paintInfo.elementAt(i+1); 
size = new BasicStroke(p1.boarder,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); 


g2d.setColor(p1.col); 
g2d.setStroke(size); 

if(p1.tool==p2.tool) 
{ 
switch(p1.tool) 
{ 
case 0://画笔 

Line2D line1 = new Line2D.Double(p1.x, p1.y, p2.x, p2.y); 
g2d.draw(line1); 
break; 

case 1://橡皮 
g.clearRect(p1.x, p1.y, p1.boarder, p1.boarder); 
break; 

case 3://画直线 
Line2D line2 = new Line2D.Double(p1.x, p1.y, p2.x, p2.y); 
g2d.draw(line2); 
break; 

case 4://画圆 
Ellipse2D ellipse = new Ellipse2D.Double(p1.x, p1.y, Math.abs(p2.x-p1.x) , Math.abs(p2.y-p1.y)); 
g2d.draw(ellipse); 
break; 

case 5://画矩形 
Rectangle2D rect = new Rectangle2D.Double(p1.x, p1.y, Math.abs(p2.x-p1.x) , Math.abs(p2.y-p1.y)); 
g2d.draw(rect); 
break; 

case 6://截断,跳过 
i=i+1; 
break; 

default : 
}//end switch 
}//end if 
}//end for 
} 


public void itemStateChanged(ItemEvent e) 
{ 
if(e.getSource()==ColChoice)//预选颜色 
{ 
String name = ColChoice.getSelectedItem(); 

if(name=="black") 
{c = new Color(0,0,0); } 
else if(name=="red") 
{c = new Color(255,0,0);} 
else if(name=="green") 
{c = new Color(0,255,0);} 
else if(name=="blue") 
{c = new Color(0,0,255);} 
} 
else if(e.getSource()==SizeChoice)//画笔大小 
{ 
String selected = SizeChoice.getSelectedItem(); 

if(selected=="1") 
{ 
con = 1; 
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); 

} 
else if(selected=="3") 
{ 
con = 3; 
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); 

} 
else if(selected=="5") 
{con = 5; 
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); 

} 
else if(selected=="7") 
{con = 7; 
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); 

} 
else if(selected=="9") 
{con = 9; 
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); 

} 
} 
else if(e.getSource()==EraserChoice)//橡皮大小 
{ 
String Esize = EraserChoice.getSelectedItem(); 

if(Esize=="5") 
{ Econ = 5*2; } 
else if(Esize=="9") 
{ Econ = 9*2; } 
else if(Esize=="13") 
{ Econ = 13*2; } 
else if(Esize=="17") 
{ Econ = 17*3; } 

} 

} 

public void mouseDragged(MouseEvent e) 
{ 
Point p1 ; 
switch(toolFlag){ 
case 0://画笔 
x = (int)e.getX(); 
y = (int)e.getY(); 
p1 = new Point(x, y, c, toolFlag, con); 
paintInfo.addElement(p1); 
repaint(); 
break; 

case 1://橡皮 
x = (int)e.getX(); 
y = (int)e.getY(); 
p1 = new Point(x, y, null, toolFlag, Econ); 
paintInfo.addElement(p1); 
repaint(); 
break; 

default : 
} 
} 

public void mouseMoved(MouseEvent e) {} 

public void update(Graphics g) 
{ 
paint(g); 
} 


public void mousePressed(MouseEvent e) 
{ 
Point p2; 
switch(toolFlag){ 
case 3://直线 
x = (int)e.getX(); 
y = (int)e.getY(); 
p2 = new Point(x, y, c, toolFlag, con); 
paintInfo.addElement(p2); 
break; 

case 4: //圆 
x = (int)e.getX(); 
y = (int)e.getY(); 
p2 = new Point(x, y, c, toolFlag, con); 
paintInfo.addElement(p2); 
break; 

case 5: //矩形 
x = (int)e.getX(); 
y = (int)e.getY(); 
p2 = new Point(x, y, c, toolFlag, con); 
paintInfo.addElement(p2); 
break; 

default : 
} 
} 

public void mouseReleased(MouseEvent e) 
{ 
Point p3; 
switch(toolFlag){ 
case 0://画笔 
paintInfo.addElement(cutflag); 
break; 

case 1: //eraser 
paintInfo.addElement(cutflag); 
break; 

case 3://直线 
x = (int)e.getX(); 
y = (int)e.getY(); 
p3 = new Point(x, y, c, toolFlag, con); 
paintInfo.addElement(p3); 
paintInfo.addElement(cutflag); 
repaint(); 
break; 

case 4: //圆 
x = (int)e.getX(); 
y = (int)e.getY(); 
p3 = new Point(x, y, c, toolFlag, con); 
paintInfo.addElement(p3); 
paintInfo.addElement(cutflag); 
repaint(); 
break; 

case 5: //矩形 
x = (int)e.getX(); 
y = (int)e.getY(); 
p3 = new Point(x, y, c, toolFlag, con); 
paintInfo.addElement(p3); 
paintInfo.addElement(cutflag); 
repaint(); 
break; 

default: 
} 
} 

public void mouseEntered(MouseEvent e){} 

public void mouseExited(MouseEvent e){} 

public void mouseClicked(MouseEvent e){} 

public void actionPerformed(ActionEvent e) 
{ 

if(e.getSource()==pen)//画笔 
{toolFlag = 0;} 

if(e.getSource()==eraser)//橡皮 
{toolFlag = 1;} 

if(e.getSource()==clear)//清除 
{ 
toolFlag = 2; 
paintInfo.removeAllElements(); 
repaint(); 
} 

if(e.getSource()==drLine)//画线 
{toolFlag = 3;} 

if(e.getSource()==drCircle)//画圆 
{toolFlag = 4;} 

if(e.getSource()==drRect)//画矩形 
{toolFlag = 5;} 

if(e.getSource()==colchooser)//调色板 
{ 
Color newColor = JColorChooser.showDialog(this,"调色板",c); 
c = newColor; 
} 

if(e.getSource()==openPic)//打开图画 
{ 

openPicture.setVisible(true); 

if(openPicture.getFile()!=null) 
{ 
int tempflag; 
tempflag = toolFlag; 
toolFlag = 2 ; 
repaint(); 

try{ 
paintInfo.removeAllElements(); 
File filein = new File(openPicture.getDirectory(),openPicture.getFile()); 
picIn = new FileInputStream(filein); 
VIn = new ObjectInputStream(picIn); 
paintInfo = (Vector)VIn.readObject(); 
VIn.close(); 
repaint(); 
toolFlag = tempflag; 

} 

catch(ClassNotFoundException IOe2) 
{ 
repaint(); 
toolFlag = tempflag; 
System.out.println("can not read object"); 
} 
catch(IOException IOe) 
{ 
repaint(); 
toolFlag = tempflag; 
System.out.println("can not read file"); 
} 
} 

} 

if(e.getSource()==savePic)//保存图画 
{ 
savePicture.setVisible(true); 
try{ 
File fileout = new File(savePicture.getDirectory(),savePicture.getFile()); 
picOut = new FileOutputStream(fileout); 
VOut = new ObjectOutputStream(picOut); 
VOut.writeObject(paintInfo); 
VOut.close(); 
} 
catch(IOException IOe) 
{ 
System.out.println("can not write object"); 
} 


} 
} 
}//end paintboard 

public class pb 
{ 
public static void main(String args[]) 
{ new paintboard("画图程序"); } 
}
________________________________________-
30分给你程序了,你真是。。。
我以前别人要源码的我100分才给的,
我都没用过awt,swing,里面的函数我都看不懂怎么话流程,你既然java是玩GUI的,流程图肯定自己要学着画,不然你怎么提高,我j2ee开发文档的流程图也都自己画的,
你觉得我这个给的不好你就把问题关闭了吧

3. 求好心人帮忙写一段JAVA程序的代码,我所有的财富值奉上!谢谢了

public class T {  public static void main(String[] args) {    char[] name = new char[] { '彭', '月', '茹' };    print(name);    printHexAndBin(name);    printHighAndLow(name);    printIsHighestBitOfLowerByteOne(name);    printPlusOne(name);    printLowestBitComplement(name);  }  private static void print(char[] name) {    for (int i = 0; i >> 8,          (int) (name[i] & 0x00FF));    }    System.out.println();  }  private static void printIsHighestBitOfLowerByteOne(char[] name) {    for (int i = 0; i < name.length; i++) {      System.out.printf("%c 低字节最高位:%s1\n", name[i],          (name[i] & (1 << 7)) != 0 ? "是" : "不是");    }    System.out.println();  }  private static void printPlusOne(char[] name) {    for (int i = 0; i < name.length; i++) {      char c = (char) (name[i] + 1);      System.out.printf("%c 加1:%c  二进制:%s\n", name[i], c,          Integer.toBinaryString(c));    }    System.out.println();  }  private static void printLowestBitComplement(char[] name) {    for (int i = 0; i < name.length; i++) {      char c = (char) (name[i] & (~1));      System.out.printf("%c 最低位取反:%c  二进制:%s\n", name[i], c,          Integer.toBinaryString(c));    }    System.out.println();  }}

求好心人帮忙写一段JAVA程序的代码,我所有的财富值奉上!谢谢了

4. 求好心人给个java RMI的源代码!!万分感谢!!

1. 用命令rmiregistry启动RMI注册服务的
2. 同时创建存根(stub)和骨架(skeleton)的
3. 只创建存根类的的(jdk1.2以后版本)
4. 通过RemoteRef和rmi://协议字串方式的
5. 比较少讲到的用LocateRegistry直接在代码上启动RMI注册服务的。
 
以上描述并非明显分类,比如,你总是可以选择用rmiregistry或者代码LocateRegistry启动RMI注册服务
 
下面我将介绍一个完整的实例,让初学者能快速体验RMI的功用。
 
分为以下四个步骤
 
 
1. 创建远程接口及声明远程方法(HelloInterface.java)
2. 实现远程接口及远程方法(继承UnicastRemoteObject)(Hello.java)
3. 启动RMI注册服务,并注册远程对象(HelloServer.java)
4. 客户端查找远程对象,并调用远程方法(HelloClient)
5. 执行程序:启动服务HelloServer;运行客户端HelloClient进行调用
 
 
具体代码及对应步骤如下:
 
1. 创建远程接口及声明远程方法(HelloInterface.java)
java 代码
 
package com.unmi;     
import java.rmi.*;     
//远程接口必须扩展接口java.rmi.Remote 
public interface HelloInterface extends Remote   {      
// 远程接口方法必须抛出 java.rmi.RemoteException     
public String say() throws RemoteException;   
}   
 
2. 实现远程接口及远程方法(继承UnicastRemoteObject)Hello.java
java 代码
package com.unmi;    
import java.rmi.*;    
import java.rmi.server.*;
/**   
 * 扩展了UnicastRemoteObject类,并实现远程接口 HelloInterface   
*/   
public class Hello extends UnicastRemoteObject implements HelloInterface    
{    
    private String message;    
    /**   
  必须定义构造方法,即使是默认构造方法,也必须把它明确地写出来,因为它必须抛出出RemoteException异常   
    */   
 public Hello(String msg) throws RemoteException    
   {    
      message = msg;    
   }    
   
   /**   
    * 远程接口方法的实现   
    */   
   public String say() throws RemoteException    
   {    
      System.out.println("Called by HelloClient");    
      return message;    
   }    
}    
 
3. 启动RMI注册服务,并注册远程对象(HelloServer.java)
java 代码
package com.unmi;    
   
import java.rmi.Naming;    
import java.rmi.registry.LocateRegistry;    
public class HelloServer    
{    
   /**   
    * 启动 RMI 注册服务并进行对象注册   
    */   
   public static void main(String[] argv)    
   {    
      try   
      {    
         //启动RMI注册服务,指定端口为1099 (1099为默认端口)    
         //也可以通过命令 $java_home/bin/rmiregistry 1099启动    
         //这里用这种方式避免了再打开一个DOS窗口    
         //而且用命令rmiregistry启动注册服务还必须事先用RMIC生成一个stub类为它所用    
         LocateRegistry.createRegistry(1099);    
            
         //创建远程对象的一个或多个实例,下面是hello对象    
         //可以用不同名字注册不同的实例    
         HelloInterface hello = new Hello("Hello, world!");                
         //把hello注册到RMI注册服务器上,命名为Hello    
         Naming.rebind("Hello", hello);    
             
         //如果要把hello实例注册到另一台启动了RMI注册服务的机器上    
         //Naming.rebind("//192.168.1.105:1099/Hello",hello);    
            
         System.out.println("Hello Server is ready.");    
      }    
      catch (Exception e)    
      {    
         System.out.println("Hello Server failed: " + e);    
      }    
   }    
}   
 
 
4. 客户端查找远程对象,并调用远程方法(HelloClient)
java 代码
package com.unmi;    
 import java.rmi.Naming;    
 public class HelloClient    
{    
   /**   
    * 查找远程对象并调用远程方法   
    */   
   public static void main(String[] argv)    
   {    
      try   
      {    
         HelloInterface hello = (HelloInterface) Naming.lookup("Hello");    
             
         //如果要从另一台启动了RMI注册服务的机器上查找hello实例    
         //HelloInterface hello = (HelloInterface)Naming.lookup("//192.168.1.105:1099/Hello");    
             
         //调用远程方法    
         System.out.println(hello.say());    
      }    
      catch (Exception e)    
      {    
         System.out.println("HelloClient exception: " + e);    
      }    
   }    
}    
 
5. 执行程序:启动服务HelloServer;运行客户端HelloClient进行调用
 
代码如何编译这里就不细讲
 
(1)打开一个Dos窗口执行命令 java com.unmi.HelloServer 启动服务HelloServer
 
E:workspaceTestRMIbin>java com.unmi.HelloServer
Hello Server is ready.
 
运行成功则可以看到 Hello Server is ready
 
(2)打开另一个Dos窗口执行命令 java com.unmi.HelloClient 运行客户端程序
 
E:workspaceTestRMIbin>java com.unmi.HelloClient
Hello, world!
 
调用成功则可以看到 Hello, world!
 
并且在启动服务端的窗口中看到紧跟 Hello Server is ready. 打印出
Called by HelloClient
 
如果您能一路顺畅的执行到这里,恭喜!您已度过了一个轻快的RMI之旅。

5. java无法安装 错误代码1601 求好心人传个安装过后的java

你好:这个的话:
xp系统 开始-运行-键入CMD,回车
在跳出来的黑色命令框里面输入msiexec /unregister 回车,再输入msiexec /regserver 回车,然后退出就行了,然后我就可以安装了
如果是更高级的win7,win8系统 就点击开始-程序-附件-命令提示符 跳出来黑色命令框,输入上面那些就可以了

;再就是你的如果是32位系统安装64位的jdk也可能出现你说的错误;在不行就重新下载个jdk。

java无法安装 错误代码1601 求好心人传个安装过后的java

6. 如何用java实现读取txt文件并对其内容进行处理?java菜菜鸟,求好心人来个完整的程序。

public class ReadFromFile {
    /**
     * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
     */
    public static void readFileByBytes(String fileName) {
        File file = new File(fileName);
        InputStream in = null;
        try {
            System.out.println("以字节为单位读取文件内容,一次读一个字节:");
            // 一次读一个字节
            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("以字节为单位读取文件内容,一次读多个字节:");
            // 一次读多个字节
            byte[] tempbytes = new byte[100];
            int byteread = 0;
            in = new FileInputStream(fileName);
            ReadFromFile.showAvailableBytes(in);
            // 读入多个字节到字节数组中,byteread为一次读入的字节数
            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) {
                }
            }
        }
    }

    /**
     * 以字符为单位读取文件,常用于读文本,数字等类型的文件
     */
    public static void readFileByChars(String fileName) {
        File file = new File(fileName);
        Reader reader = null;
        try {
            System.out.println("以字符为单位读取文件内容,一次读一个字节:");
            // 一次读一个字符
            reader = new InputStreamReader(new FileInputStream(file));
            int tempchar;
            while ((tempchar = reader.read()) != -1) {
                // 对于windows下,\r\n这两个字符在一起时,表示一个换行。
                // 但如果这两个字符分开显示时,会换两次行。
                // 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。
                if (((char) tempchar) != '\r') {
                    System.out.print((char) tempchar);
                }
            }
            reader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            System.out.println("以字符为单位读取文件内容,一次读多个字节:");
            // 一次读多个字符
            char[] tempchars = new char[30];
            int charread = 0;
            reader = new InputStreamReader(new FileInputStream(fileName));
            // 读入多个字符到字符数组中,charread为一次读取字符数
            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; i < charread; 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) {
                }
            }
        }
    }

    /**
     * 以行为单位读取文件,常用于读面向行的格式化文件
     */
    public static void readFileByLines(String fileName) {
        File file = new File(fileName);
        BufferedReader reader = null;
        try {
            System.out.println("以行为单位读取文件内容,一次读一整行:");
            reader = new BufferedReader(new FileReader(file));
            String tempString = null;
            int line = 1;
            // 一次读入一行,直到读入null为文件结束
            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) {
                }
            }
        }
    }

    /**
     * 随机读取文件内容
     */
    public static void readFileByRandomAccess(String fileName) {
        RandomAccessFile randomFile = null;
        try {
            System.out.println("随机读取一段文件内容:");
            // 打开一个随机访问文件流,按只读方式
            randomFile = new RandomAccessFile(fileName, "r");
            // 文件长度,字节数
            long fileLength = randomFile.length();
            // 读文件的起始位置
            int beginIndex = (fileLength > 4) ? 4 : 0;
            // 将读文件的开始位置移到beginIndex位置。
            randomFile.seek(beginIndex);
            byte[] bytes = new byte[10];
            int byteread = 0;
            // 一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。
            // 将一次读取的字节数赋给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) {
                }
            }
        }
    }

    /**
     * 显示输入流中还剩的字节数
     */
    private static void showAvailableBytes(InputStream in) {
        try {
            System.out.println("当前字节输入流中的字节数为:" + 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);
    }
}

复制代码

5、将内容追加到文件尾部

public class AppendToFile {
    /**
     * A方法追加文件:使用RandomAccessFile
     */
    public static void appendMethodA(String fileName, String content) {
        try {
            // 打开一个随机访问文件流,按读写方式
            RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
            // 文件长度,字节数
            long fileLength = randomFile.length();
            //将写文件指针移到文件尾。
            randomFile.seek(fileLength);
            randomFile.writeBytes(content);
            randomFile.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * B方法追加文件:使用FileWriter
     */
    public static void appendMethodB(String fileName, String content) {
        try {
            //打开一个写文件器,构造函数中的第二个参数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");
        //显示文件内容
        ReadFromFile.readFileByLines(fileName);
        //按方法B追加文件
        AppendToFile.appendMethodB(fileName, content);
        AppendToFile.appendMethodB(fileName, "append end. \n");
        //显示文件内容
        ReadFromFile.readFileByLines(fileName);
    }
}

7. 求好心人给个基于java的毕业设计和论文

哈哈,这个太多了
说实话,javaweb的毕业设计说来说去就那么些,比如那框架做一个管理系统,不要看这么多年都是这么些题目,但是对于大部分同学来说重新完整实现还是比较困难的
所以一般都是弄一个成品或者整合框架做二次开发,论文东拼西凑只要过了查重就可以了,look at my name,上面有好多项目源码,希望你仔细找一下

求好心人给个基于java的毕业设计和论文

8. 求一个JAVA小程序,自由使用至少两种设计模式

OK。同学,发完整的给你哦