重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
svn就是版本管理的那么一个机制。
成都创新互联欢迎来电:18982081108,为您提供成都网站建设网页设计及定制高端网站建设服务,成都创新互联网页制作领域10年,包括成都社区文化墙等多个方面拥有多年的网站运维经验,选择成都创新互联,为网站锦上添花。
比如说你修改的是com.people.len 这个包下的demon.java这个文件。同时也有别人修改这个文件并提交了。你再commit的时候就会提示你代码有冲突。需要你先把svn上的文件下下来,然后再修改你的代码之后再提交。其他的就是如果你的同事没修改这个文件只修改其他的文件的话,你可以只提交这个文件,和他们的合在一起。
如果知道jsp名字就直接在eclipse中用Ctrl+Shift+r,输入名字查找呗,然后根据代码在后台打断点,一步步跟一下。这样能很快熟悉。
新手的话,首先先把项目跑起来,跑起来之后,先看页面的跳转和业务上的逻辑,什么页面显示什么内容,做到心里有数。这些都清楚了之后,就可以看后台代码啦,web项目一般就是mvc的分层模式。大致就是数据层,业务层,显示层。所以建议先从显示层看(可以理解为页面啦),看的时候,着重理解业务逻辑,和哪些数据是需要交互的部分,心里有底。
看完之后对项目是干什么的,有哪些功能大致了解了,就可以准备看代码啦。
看代码,可以先从配置文件开始,看用到了哪些框架,大致心里有底,然后可以百度下框架的作用。
这个时候,对项目整体大概有个认识了,然后就可以去看请求在哪里接收,哪里处理什么业务逻辑,过程交互了哪些数据。这里最好是单个页面或者单个功能模块分开来看最好啦。
io。就是操作文件嘛。在公司经常有用到的。
现在是讲例子1:
//创建一个新文件
importjava.io.*;
classhello{
publicstaticvoidmain(String[] args) {
File f=newFile("D:\\hello.txt");
try{
f.createNewFile();
}catch(Exception e) {
e.printStackTrace();
}
}
}
//程序运行之后,在d盘下会有一个名字为hello.txt的文件。
例子2:
//File类的两个常量
importjava.io.*;
classhello{
publicstaticvoidmain(String[] args) {
System.out.println(File.separator);
System.out.println(File.pathSeparator);
}
}
运行结果:\
;
现在用常量来改动写上面的代码:
importjava.io.*;
classhello{
publicstaticvoidmain(String[] args) {
String fileName="D:"+File.separator+"hello.txt";
File f=newFile(fileName);
try{
f.createNewFile();
}catch(Exception e) {
e.printStackTrace();
}
}
}
用这些,建议使用常量,因为代码写的少了。
案例3:
//删除一个文件
importjava.io.*;
classhello{
publicstaticvoidmain(String[] args) {
String fileName="D:"+File.separator+"hello.txt";
File f=newFile(fileName);
if(f.exists()){
f.delete();
}else{
System.out.println("文件不存在");
}
}
}
案例4:创建一个文件夹
importjava.io.*;
classhello{
publicstaticvoidmain(String[] args) {
String fileName="D:"+File.separator+"hello";
File f=newFile(fileName);
f.mkdir();
}
}
案例5:列出指定目录的全部文件(包括隐藏文件):
importjava.io.*;
classhello{
publicstaticvoidmain(String[] args) {
String fileName="D:"+File.separator;
File f=newFile(fileName);
String[] str=f.list();
for(inti =0; i str.length; i++) {
System.out.println(str[i]);
}
}
}
大概的简单的东西,就这些了吧。你自己好好看看吧,欢迎追问。
给你个做好了的Java的源程序的记事本,自己看看就行了的,不怎么难的···
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class MyNotepad implements ActionListener{
private JFrame frame=new JFrame("新记事本");
private JTextArea jta=new JTextArea();
private String result="";
private boolean flag=true;
private File f;
private JButton jb=new JButton("开始");
private JTextField jtf=new JTextField(15);
private JTextField jt=new JTextField(15);
private JButton jbt=new JButton("替换为");
private JButton jba=new JButton("全部替换");
private Icon ic=new ImageIcon("D:\\java课堂笔记\\GUI\\11.gif");
private String value;
private int start=0;
private JFrame jf=new JFrame("查找");
private JFrame jfc=new JFrame("替换");
@Override
public void actionPerformed(ActionEvent e) {
String comm=e.getActionCommand();
if("新建".equals(comm)){
if(!(frame.getTitle().equals("新记事本"))){
if(!flag){
write();
newNew();
}else{
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
int returnVal = jfc.showDialog(null,"保存为");
if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
flag=false;
write();
}
}
}else if(!(jta.getText().isEmpty())){
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
int returnVal = jfc.showDialog(null,"保存为");
if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
flag=false;
write();
newNew();
}
}else{
newNew();
}
}else if("打开".equals(comm)){
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
jfc.setDialogType(JFileChooser.OPEN_DIALOG);
int returnVal = jfc.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
frame.setTitle(f.getName());
result=read();
flag=false;
value=result;
jta.setText(result);
}
}else if("保存".equals(comm)){
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
if(flag){
int returnVal = jfc.showDialog(null,"保存为");
if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
flag=false;
write();
}
}else{
write();
}
}else if("另存".equals(comm)){
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
int returnVal = jfc.showDialog(null,"另存");
if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
write();
}
}else if("退出".equals(comm)){
System.exit(0);
}else if("撤销".equals(comm)){
jta.setText(value);
}else if("剪切".equals(comm)){
value=jta.getText();
jta.cut();
}else if("复制".equals(comm)){
jta.copy();
}else if("粘贴".equals(comm)){
value=jta.getText();
jta.paste();
}else if("删除".equals(comm)){
value=jta.getText();
jta.replaceSelection(null);
}else if("全选".equals(comm)){
jta.selectAll();
}else if("查找".equals(comm)){
value=jta.getText();
jf.add(jtf,BorderLayout.CENTER);
jf.add(jb,BorderLayout.SOUTH);
jf.setLocation(300,300);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}else if("替换".equals(comm)){
value=jta.getText();
GridLayout gl=new GridLayout(3,3);
JLabel jl1=new JLabel("查找内容:");
JLabel jl2=new JLabel("替换为:");
jfc.setLayout(gl);
jfc.add(jl1);
jfc.add(jtf);
jfc.add(jb);
jfc.add(jl2);
jfc.add(jt);
jfc.add(jbt);
JLabel jl3=new JLabel();
JLabel jl4=new JLabel();
jfc.add(jl3);
jfc.add(jl4);
jfc.add(jba);
jfc.setLocation(300,300);
jfc.pack();
jfc.setVisible(true);
jfc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}else if("版本".equals(comm)){
JDialog jd=new JDialog(frame,"关于对话框");
jd.setSize(200,200);
JLabel l=new JLabel("哈哈哈哈哈哈哈哈哈哈呵呵呵呵呵呵呵呵呵呵呵呵呵");
jd.add(l,BorderLayout.CENTER);
jd.setLocation(100,200);
jd.setSize(300,300);
jd.setVisible(true);
// jd.pack();
jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}else if("开始".equals(comm)||"下一个".equals(comm)){
String temp=jtf.getText();
int s=value.indexOf(temp,start);
if(value.indexOf(temp,start)!=-1){
jta.setSelectionStart(s);
jta.setSelectionEnd(s+temp.length());
jta.setSelectedTextColor(Color.GREEN);
start=s+1;
jb.setText("下一个");
// value=value.substring(s+temp.length());//不能截取字串
}else {
JOptionPane.showMessageDialog(jf, "查找完毕!", "提示", 0, ic);
jf.dispose();
}
}else if("替换为".equals(comm)){
String temp=jtf.getText();
int s=value.indexOf(temp,start);
if(value.indexOf(temp,start)!=-1){
jta.setSelectionStart(s);
jta.setSelectionEnd(s+temp.length());
jta.setSelectedTextColor(Color.GREEN);
start=s+1;
jta.replaceSelection(jt.getText());
}else {
JOptionPane.showMessageDialog(jf, "查找完毕!", "提示", 0, ic);
jf.dispose();
}
}else if("全部替换".equals(comm)){
String temp=jta.getText();
temp=temp.replaceAll(jtf.getText(), jt.getText());
jta.setText(temp);
}
}
public String read(){
String temp="";
try {
FileInputStream fis = new FileInputStream(f.getAbsolutePath());
byte[] b=new byte[1024];
while(true){
int num=fis.read(b);
if(num==-1)break;
temp=temp+new String(b,0,num);
}
fis.close();
} catch (Exception e1) {
e1.printStackTrace();
}
return temp;
}
public void write(){
try {
FileOutputStream fos=new FileOutputStream(f);
fos.write(jta.getText().getBytes());
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public void newNew(){
frame.dispose();
new MyNotepad();
flag=true;
}
public MyNotepad(){
JMenuBar jmb=new JMenuBar();
String[] menuLab={"文件","编辑","帮助"};
String[][] menuItemLab={{"新建","打开","保存","另存","退出"},
{"撤销","剪切","复制","粘贴","删除","全选","查找","替换"},
{"版本"}};
for(int i=0;imenuLab.length;i++){
JMenu menu=new JMenu(menuLab[i]);
jmb.add(menu);
for(int j=0;jmenuItemLab[i].length;j++){
JMenuItem jmi=new JMenuItem(menuItemLab[i][j]);
menu.add(jmi);
jmi.addActionListener(this);
}
}
frame.setJMenuBar(jmb);
jta.setLineWrap(true);//自动换行
JScrollPane jsp=new JScrollPane(jta);//滚动窗口面板
frame.add(jsp);
jb.addActionListener(this);
jbt.addActionListener(this);
jba.addActionListener(this);
frame.setLocation(200,50);
frame.setSize(620,660);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new MyNotepad();
}
}