「java修改.ini文件」如何将文本文件改为ini文件

博主:adminadmin 2022-12-31 06:36:11 782

今天给各位分享java修改.ini文件的知识,其中也会对如何将文本文件改为ini文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 向ini配置文件中写入值。

Java读取和修改ini配置文件,参考如下:

/*

* ConfigurationFile.java

*

*/

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

* 这是个配置文档操作类,用来读取和配置ini配置文档

* @author 由月

* @version 2004-08-18

* @修改 2008-05-22

*/

public final class ConfigurationFile {

/**

* 从ini配置文档中读取变量的值

* @param file 配置文档的路径

* @param section 要获取的变量所在段名称

* @param variable 要获取的变量名称

* @param defaultValue 变量名称不存在时的默认值

* @return 变量的值

* @throws IOException 抛出文档操作可能出现的io异常

*/

public static String getProfileString(

String file,

String section,

String variable,

String defaultValue)

throws IOException {

String strLine, value = "";

BufferedReader bufferedReader = new BufferedReader(new FileReader(file));

boolean isInSection = false;

try {

while ((strLine = bufferedReader.readLine()) != null) {

strLine = strLine.trim();

//strLine = strLine.split("[;]")[0];

Pattern p;

Matcher m;

p = Pattern.compile("\\["+section+"\\]");

m = p.matcher((strLine));

if (m.matches()) {

p = Pattern.compile("\\["+section+"\\]");

m = p.matcher(strLine);

if (m.matches()) {

isInSection = true;

} else {

isInSection = false;

}

}

if (isInSection == true) {

strLine = strLine.trim();

String[] strArray = strLine.split("=");

if (strArray.length == 1) {

value = strArray[0].trim();

if (value.equalsIgnoreCase(variable)) {

value = "";

return value;

}

} else if (strArray.length == 2) {

value = strArray[0].trim();

if (value.equalsIgnoreCase(variable)) {

value = strArray[1].trim();

return value;

}

} else if (strArray.length 2) {

value = strArray[0].trim();

if (value.equalsIgnoreCase(variable)) {

value = strLine.substring(strLine.indexOf("=") + 1).trim();

return value;

}

}

}

}

} finally {

bufferedReader.close();

}

return defaultValue;

}

eclipse.ini文件怎么修改?

Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$ECLIPSE_HOME

(eclipse安装根目录)没有被定义,则Eclipse安装目录下的默认eclipse.ini会生效。

eclipse.ini是一个文本文件,其内容相当于在Eclipse运行时添加到

Eclipse.exe之后的命令行参数。

其格式要求:

1:所有的选项及其相关的参数必须在单独的一行之内

2:所有在-vmargs之后的参数将会被传输给JVM,所有如果所有对Eclipse

设置的参数必须写在-vmargs之前(就如同你在命令行上使用这些参数一样)

默认情况下,eclipse.ini的内容如下:

-showsplash

org.eclipse.platform

--launcher.XXMaxPermSize

256m

-vmargs

-Xms40m

-Xmx256m

上面的配置表示堆空间初始大小为40M,最大为256M,PermGen最大为256M。

帮忙写个JAVA 读写ini配置文件小程序!!!!!

其实使用 JDK 里面提供的 Properties 最方便。 相关使用方法可以自己去查看 JDK 的API文档。 package product;import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.Properties;import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JTextField;public class IniReader {

private Properties properties = new Properties();

private String iniPath = "test/product/pro.ini"; //ini 文件的路径

private JFrame jFrame = new JFrame("读取配置示例");

private JLabel jLabel1 = new JLabel("用户登录IP");

private JTextField jTextField1 = new JTextField(30);

private JLabel jLabel2 = new JLabel("端口号");

private JTextField jTextField2 = new JTextField(30);

private JLabel jLabel3 = new JLabel("TQ终端IP");

private JTextField jTextField3 = new JTextField(30);

private JLabel jLabel4 = new JLabel("端口号");

private JTextField jTextField4 = new JTextField(30);

private JLabel jLabel5 = new JLabel("WM终端IP");

private JTextField jTextField5 = new JTextField(30);

private JLabel jLabel6 = new JLabel("端口号");

private JTextField jTextField6 = new JTextField(30);

private JButton jButton1 = new JButton("取消");

private JButton jButton2 = new JButton("确定");

private void showFrame(){

try {

File file = new File(iniPath);

System.out.println(file.getAbsolutePath());

properties.load(new FileInputStream(iniPath));

} catch (FileNotFoundException e) {

System.out.println("找不到该文件");

JOptionPane.showMessageDialog(null, "保存信息出错!");

return;

} catch (IOException e) {

System.out.println("文件读取错误");

JOptionPane.showMessageDialog(null, "保存信息出错!");

return;

}

jTextField1.setText(properties.getProperty("UserLogin"));

jTextField2.setText(properties.getProperty("Userport"));

jTextField3.setText(properties.getProperty("TQterminal"));

jTextField4.setText(properties.getProperty("TQport"));

jTextField5.setText(properties.getProperty("VMterminal"));

jTextField6.setText(properties.getProperty("VMport"));

jButton1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

jTextField1.setText(properties.getProperty("UserLogin"));

jTextField2.setText(properties.getProperty("Userport"));

jTextField3.setText(properties.getProperty("TQterminal"));

jTextField4.setText(properties.getProperty("TQport"));

jTextField5.setText(properties.getProperty("VMterminal"));

jTextField6.setText(properties.getProperty("VMport"));

}

});

jButton2.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {

properties.setProperty("UserLogin", jTextField1.getText());

properties.setProperty("Userport", jTextField2.getText());

properties.setProperty("TQterminal", jTextField3.getText());

properties.setProperty("TQport", jTextField4.getText());

properties.setProperty("VMterminal", jTextField5.getText());

properties.setProperty("VMport", jTextField6.getText());

try {

properties.store(new FileOutputStream(iniPath),"");

} catch (Exception e1) {

e1.printStackTrace();

System.out.println("保存信息出错");

JOptionPane.showMessageDialog(jFrame, "保存信息出错!");

}

JOptionPane.showMessageDialog(jFrame, "保存成功!");

}

});

jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jLabel1.setBounds(10, 40, 80, 30);

jTextField1.setBounds(100, 40, 80, 30);

jLabel2.setBounds(210, 40, 80, 30);

jTextField2.setBounds(300, 40, 80, 30);

jLabel3.setBounds(10, 80, 80, 30);

jTextField3.setBounds(100, 80, 80, 30);

jLabel4.setBounds(210, 80, 80, 30);

jTextField4.setBounds(300, 80, 80, 30);

jLabel5.setBounds(10, 120, 80, 30);

jTextField5.setBounds(100, 120, 80, 30);

jLabel6.setBounds(210, 120, 80, 30);

jTextField6.setBounds(300, 120, 80, 30);

jFrame.getContentPane().setLayout(null);

jFrame.getContentPane().add(jLabel1);

jFrame.getContentPane().add(jLabel2);

jFrame.getContentPane().add(jLabel3);

jFrame.getContentPane().add(jLabel4);

jFrame.getContentPane().add(jLabel5);

jFrame.getContentPane().add(jLabel6);

jFrame.getContentPane().add(jTextField1);

jFrame.getContentPane().add(jTextField2);

jFrame.getContentPane().add(jTextField3);

jFrame.getContentPane().add(jTextField4);

jFrame.getContentPane().add(jTextField5);

jFrame.getContentPane().add(jTextField6);

jButton1.setBounds(100,160,60,30);

jButton2.setBounds(230,160,60,30);

jFrame.getContentPane().add(jButton1);

jFrame.getContentPane().add(jButton2);

jFrame.setBounds(200, 200, 400, 300);

jFrame.setVisible(true);

}

public static void main(String[] args) {

new IniReader().showFrame();

}}

经测试,可用,正常。就是文件路径你自己配好。

Java中如何设置读取ini配置文件?

// 读取一般的属性文件

FileInputStream fin=new FileInputStream("my.ini"); // 打开文件

Properties props=new Properties();                 // 建立属性类

props.load(fin);                                   // 读入文件

fin.close();                                       // 关闭文件

如何修改java虚拟机内存

一、设置JVM内存设置

1. 设置JVM内存的参数有四个:

-Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;

-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;

-Xmn Java Heap Young区大小,不熟悉最好保留默认值;

-Xss 每个线程的Stack大小,不熟悉最好保留默认值;

2. 如何设置JVM内存分配:

(1)当在命令提示符下启动并使用JVM时(只对当前运行的类Test生效):

java -Xmx128m -Xms64m -Xmn32m -Xss16m Test

(2)当在集成开发环境下(如eclipse)启动并使用JVM时:

a. 在eclipse根目录下打开eclipse.ini,默认内容为(这里设置的是运行当前开发工具的JVM内存分配):

-vmargs

-Xms40m

-Xmx256m

-vmargs表示以下为虚拟机设置参数,可修改其中的参数值,也可添加-Xmn,-Xss,另外,eclipse.ini内还可以设置非堆内存,如:-XX:PermSize=56m,-XX:MaxPermSize=128m。

此处设置的参数值可以通过以下配置在开发工具的状态栏显示:

在eclipse根目录下创建文件options,文件内容为:org.eclipse.ui/perf/showHeapStatus=true

修改eclipse根目录下的eclipse.ini文件,在开头处添加如下内容:

-debug

options

-vm

javaw.exe

重新启动eclipse,就可以看到下方状态条多了JVM信息。

b. 打开eclipse-窗口-首选项-Java-已安装的JRE(对在当前开发环境中运行的java程序皆生效)

编辑当前使用的JRE,在缺省VM参数中输入:-Xmx128m -Xms64m -Xmn32m -Xss16m

c. 打开eclipse-运行-运行-Java应用程序(只对所设置的java类生效)

选定需设置内存分配的类-自变量,在VM自变量中输入:-Xmx128m -Xms64m -Xmn32m -Xss16m

注:如果在同一开发环境中同时进行了b和c设置,则b设置生效,c设置无效,如:

开发环境的设置为:-Xmx256m,而类Test的设置为:-Xmx128m -Xms64m,则运行Test时生效的设置为:

-Xmx256m -Xms64m

(3)当在服务器环境下(如Tomcat)启动并使用JVM时(对当前服务器环境下所以Java程序生效):

a. 设置环境变量:

变量名:CATALINA_OPTS

变量值:-Xmx128m -Xms64m -Xmn32m -Xss16m

b. 打开Tomcat根目录下的bin文件夹,编辑catalina.bat,将其中的�TALINA_OPTS%(共有四处)替换为:-Xmx128m -Xms64m -Xmn32m -Xss16m

java修改数据库失败次数

息 不报错 确修改失败了

java mysql修改信息 不报错 确修改失败了_数据库字段异常可能是mysql严格模式导致...

IvanhoeBlack

原创

关注

0点赞·498人阅读

最近,新手同事Java开发中遇到数据库报错:

“ java.sql.SQLIntegrityConstraintViolationException: Column 'create_time' cannot be null”

而且开发环境上没有出现,生产环境上才会出现。看过后告诉他是mysql strict mode(严格模式)导致。生产环境的mysql版本比较高,打开了相关配置。

5.6.6 版本后默认打开严格模式。

这其实是一个常见问题,和mysql 打交道时比较容易遇到。

一、查看sql-mode

select @@sql_mode;

二、解决办法

方法1:修改sql_mode。

linux上找到my.cnf文件,window上找到my.ini文件。

修改 sql_mode赋值。

方法2:修改代码,增加条件判断和主动赋值。

因为不知道生产环境的配置,建议还是不要偷懒。

三、一些mysql 严格模式的选项

NO_ZERO_DATE 认为日期为0非法

STRICT_TRANS_TABLES 表示启用严格模式。例如把''传递给int字段非法。

java修改.ini文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何将文本文件改为ini文件、java修改.ini文件的信息别忘了在本站进行查找喔。