Создание директории и определение операционной системы



void dirCreator(String fPath){

File file=new File(fPath);

if(!file.exists())file.mkdir();

}

Это Windows?

boolean isWindows() {

String os = System.getProperty("os.name").toLowerCase();

return (os.contains("win"));

}

Еще вариант посложнее и поуниверсальней:

public class Discriminator {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

if(isWindows()){

System.out.println("Это Windows.\n Версия: " + getOSVerion());

}else if(isMac()){

System.out.println("Это Mac OS.\n Версия: " + getOSVerion());

}else if(isUnix ()){

System.out.println("Это BSD или GNU/Linux.\n Версия: " + getOSVerion());

}else{

System.out.println("Неизвестная система");

}

}

public static boolean isWindows(){

String os = System.getProperty("os.name").toLowerCase();

//windows

return (os.contains("win"));

}

public static boolean isMac(){

String os = System.getProperty("os.name").toLowerCase();

//Mac

return (os.contains("mac"));

}

public static boolean isUnix (){

String os = System.getProperty("os.name").toLowerCase();

//linux or unix

return (os.contains("nix") || os.contains("nux"));

}

public static String getOSVerion() {

String os = System.getProperty("os.version");

return os;

}

}

SplashScreen(android)

Заставка для приложения.

package kalexal.kaa.advices;

import android.content.Intent;

import android.os.Handler;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

public class Splash extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_splash);

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

Intent intent=new Intent(Splash.this,MainActivity.class);

startActivity(intent);

finish();

}

},3000);

}

}

SplashScreen для десктопного приложения

public class Splash extends Application{

static SplashScreen mySplash;

public static void main(String[] args) throws Exception

{

mySplash=SplashScreen.getSplashScreen();

try

{

Thread.sleep(5000);

}

catch (InterruptedException ex)

{

ex.getMessage();

}

if (mySplash != null){

mySplash.close();

launch(ClassName.class, args);

}

}

@Override

public void start(Stage primaryStage) throws Exception {

throw new UnsupportedOperationException("Not supported yet.");

}

}

Проверка корректности ввода даты

Может проверять високосность года.

boolean inputCorrect(int n,int m,int l){

int days=0;

switch (l) {

case 1:

days = 30;

break;

case 2:

if (m % 4 == 0 && m % 100 != 0 || m % 400 == 0) days = 29;

else days = 28;

break;

case 3:

days = 31;

break;

case 4:

days = 30;

break;

case 5:

days = 31;

break;

case 6:

days = 30;

break;

case 7:

days = 31;

break;

case 8:

days = 31;

break;

case 9:

days = 30;

break;

case 10:

days = 31;

break;

case 11:

days = 30;

break;

case 12:

days = 31;

break;

default:

break;

}

if(l<1||l>12){

JOptionPane.showMessageDialog(null,"Некорректный номер месяца! Проверьте соответствие введённых данных.","ВНИМАНИЕ!",JOptionPane.WARNING_MESSAGE);

month.requestFocus();

return true;

}

else if (n>days||n==0){

JOptionPane.showMessageDialog(null,"Некорректное число месяца! Проверьте соответствие введённых данных.","ВНИМАНИЕ!",JOptionPane.WARNING_MESSAGE);

day.requestFocus();

return true;

}else if (m==0||m<1000||m>9999){

JOptionPane.showMessageDialog(null,"Номер года вне диапазона! Номер года должен быть в диапазоне от 1000 до 9999 включительно.","ВНИМАНИЕ!",JOptionPane.WARNING_MESSAGE);

year.requestFocus();

return true;

}else {

return false;

}

}

Генератор паролей

Может создавать пароли как из встроенных наборов символов, хранящихся в файле «combinations», так и из пользовательских наборов.

@FXML

private void passwordGenerateButton(ActionEvent event) {

int pasLength=0,pasQuantitet;

String argument,pas,multiPas="";

if(isNullInField(e1.getText())){

alertWindow("", "Укажите длину пароля.", "Ошибка");

e1.requestFocus();

return;

}

if(isNullInField(e2.getText())){

alertWindow("", "Укажите количество паролей.", "Ошибка");

e2.requestFocus();

return;

}

try{

pasLength=Integer.parseInt(e1.getText());

pasQuantitet=Integer.parseInt(e2.getText());

}catch(NumberFormatException ex){

ex.getMessage();

alertWindow("Некорректные данные!", "Введите целое число!", "Внимание!");

if(pasLength==0){

e1.requestFocus();

}

else {

e2.requestFocus();

}

return;

}

if(pasLength<1||pasLength>1000){

alertWindow("", "Длина пароля должна быть от 1 до 1000 символов.", "Ошибка");

e1.requestFocus();

return;

}

if(pasQuantitet<1||pasQuantitet>100){

alertWindow("", "Количество паролей должно быть от 1 до 100", "Ошибка");

e2.requestFocus();

return;

}

if(isNullInField(e.getText())){

argument=combinationsReader(cb.getSelectionModel().getSelectedIndex()+1);

}else{

argument=e.getText();

}

for(int i=0;i<pasQuantitet;i++){

pas=passwordCreator(argument,pasLength);

if("".equals(pas)){

alertWindow("Некорректный символ!", "Удалите все пробелы!","Внимание!");

e.requestFocus();

return;

}

multiPas+=pas+"\n";

}

text.setText(multiPas);

}

boolean isNullInField(String sField){

return sField==null||sField.trim().length()==0;

}

String passwordCreator(String s,int q){

String str="";

Random r=new Random();

char[]masSymbols=s.toCharArray();

for (int i=0;i<s.length();i++){

if (masSymbols[i]==' '){

return "";

}

}

for (int i=0;i<q;i++){

str+=masSymbols[r.nextInt(s.length())]+"";

}

return str;

}

String combinationsReader(int m){

String str="";

try {

InputStream is = ClassLoader.getSystemResourceAsStream("res/textes/combinations");

InputStreamReader isr = new InputStreamReader(is);

try (BufferedReader reader = new BufferedReader(isr)) {

for (int i=0;i<m;i++){

str=reader.readLine();

}

}

}

catch (IOException ex){

ex.getMessage();

}

return str;

}


Дата добавления: 2019-02-12; просмотров: 134; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!