Advertisement
backlight0815

Untitled

Jul 10th, 2022
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.89 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package textlogin;
  7.  
  8. import java.io.File;
  9. import java.io.FileNotFoundException;
  10. import java.io.FileReader;
  11. import java.io.FileWriter;
  12. import java.io.IOException;
  13. import java.io.RandomAccessFile;
  14. import java.util.logging.Level;
  15. import java.util.logging.Logger;
  16. import javax.swing.JOptionPane;
  17.  
  18. /**
  19.  *
  20.  * @author Admin
  21.  */
  22. public class notepad extends javax.swing.JFrame {
  23.  
  24.     File f = new File("C:\\Users\\Asus\\OneDrive\\Desktop\\Testing");
  25.     int ln;
  26.     String Username,Password,Email;
  27.     /**
  28.      * Creates new form notepad
  29.      */
  30.     public notepad() {
  31.         initComponents();
  32.     }
  33.  
  34.     void createFolder(){
  35.         if(!f.exists()){
  36.             f.mkdirs();
  37.         }
  38.     }
  39.    
  40.     void readFile(){
  41.         try {
  42.             FileReader fr = new FileReader(f+"\\logins.txt");
  43.             System.out.println("file exists!");
  44.         } catch (FileNotFoundException ex) {
  45.             try {
  46.                 FileWriter fw = new FileWriter(f+"\\logins.txt");
  47.                 System.out.println("File created");
  48.             } catch (IOException ex1) {
  49.                 Logger.getLogger(notepad.class.getName()).log(Level.SEVERE, null, ex1);
  50.             }
  51.         }
  52.        
  53.     }
  54.    
  55.     void addData(String usr,String pswd,String mail){
  56.         try {
  57.             RandomAccessFile raf = new RandomAccessFile(f+"\\logins.txt", "rw");
  58.             for(int i=0;i<ln;i++){
  59.                 raf.readLine();
  60.             }
  61.             //if condition added after video to have no lines on first entry
  62.             if(ln>0){
  63.             raf.writeBytes("\r\n");
  64.             raf.writeBytes("\r\n");
  65.             }
  66.             raf.writeBytes("Username:"+usr+ "\r\n");
  67.             raf.writeBytes("Password:"+pswd+ "\r\n");
  68.             raf.writeBytes("Email:"+mail);
  69.         } catch (FileNotFoundException ex) {
  70.             Logger.getLogger(notepad.class.getName()).log(Level.SEVERE, null, ex);
  71.         } catch (IOException ex) {
  72.             Logger.getLogger(notepad.class.getName()).log(Level.SEVERE, null, ex);
  73.         }
  74.        
  75.     }
  76.    
  77.     void CheckData(String usr,String pswd){
  78.    
  79.         try {
  80.             RandomAccessFile raf = new RandomAccessFile(f+"\\logins.txt", "rw");
  81.             String line = raf.readLine();
  82.             Username=line.substring(9);
  83.             Password=raf.readLine().substring(9);
  84.             Email = raf.readLine().substring(6);
  85.             if(usr.equals(Username)& pswd.equals(Password)){
  86.                 JOptionPane.showMessageDialog(null, "Password matched");
  87.             }else{
  88.                 JOptionPane.showMessageDialog(null, "Wrong user/Password");
  89.             }
  90.         } catch (FileNotFoundException ex) {
  91.             Logger.getLogger(notepad.class.getName()).log(Level.SEVERE, null, ex);
  92.         } catch (IOException ex) {
  93.             Logger.getLogger(notepad.class.getName()).log(Level.SEVERE, null, ex);
  94.         }
  95.            
  96.     }
  97.    
  98.     void logic(String usr,String pswd){
  99.         try {
  100.             RandomAccessFile raf = new RandomAccessFile(f+"\\logins.txt", "rw");
  101.             for(int i=0;i<ln;i+=4){System.out.println("count "+i);
  102.            
  103.                 String forUser = raf.readLine().substring(9);
  104.                 String forPswd = raf.readLine().substring(9);
  105.                 if(usr.equals(forUser) & pswd.equals(forPswd)){
  106.                     JOptionPane.showMessageDialog(null, "password matched");
  107.                     break;
  108.                 }else if(i==(ln-3)){
  109.                     JOptionPane.showMessageDialog(null, "incorrect username/password");
  110.                     break;
  111.                 }
  112.                 // if you are using user & passwword without email
  113.                 // then dont forget to replace  k<=2 with k=2 below
  114.                 for(int k=1;k<=2;k++){
  115.                     raf.readLine();
  116.                 }
  117.             }
  118.         } catch (FileNotFoundException ex) {
  119.             Logger.getLogger(notepad.class.getName()).log(Level.SEVERE, null, ex);
  120.         } catch (IOException ex) {
  121.             Logger.getLogger(notepad.class.getName()).log(Level.SEVERE, null, ex);
  122.         }
  123.        
  124.     }
  125.    
  126.     void countLines(){
  127.         try {
  128.             ln=0;
  129.             RandomAccessFile raf = new RandomAccessFile(f+"\\logins.txt", "rw");
  130.             for(int i=0;raf.readLine()!=null;i++){
  131.                 ln++;
  132.             }
  133.             System.out.println("number of lines:"+ln);
  134.         } catch (FileNotFoundException ex) {
  135.             Logger.getLogger(notepad.class.getName()).log(Level.SEVERE, null, ex);
  136.         } catch (IOException ex) {
  137.             Logger.getLogger(notepad.class.getName()).log(Level.SEVERE, null, ex);
  138.         }
  139.        
  140.     }
  141.  
  142.     /**
  143.      * This method is called from within the constructor to initialize the form.
  144.      * WARNING: Do NOT modify this code. The content of this method is always
  145.      * regenerated by the Form Editor.
  146.      */
  147.     @SuppressWarnings("unchecked")
  148.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  149.     private void initComponents() {
  150.  
  151.         jButton2 = new javax.swing.JButton();
  152.         jButton3 = new javax.swing.JButton();
  153.         jButton4 = new javax.swing.JButton();
  154.         jLabel1 = new javax.swing.JLabel();
  155.         jLabel2 = new javax.swing.JLabel();
  156.         jLabel3 = new javax.swing.JLabel();
  157.         jLabel4 = new javax.swing.JLabel();
  158.         tfusr = new javax.swing.JTextField();
  159.         tfpswd = new javax.swing.JTextField();
  160.         tfmail = new javax.swing.JTextField();
  161.         jButton1 = new javax.swing.JButton();
  162.  
  163.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  164.  
  165.         jButton2.setText("Login");
  166.         jButton2.addActionListener(new java.awt.event.ActionListener() {
  167.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  168.                 jButton2ActionPerformed(evt);
  169.             }
  170.         });
  171.  
  172.         jButton3.setText("clear all");
  173.         jButton3.addActionListener(new java.awt.event.ActionListener() {
  174.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  175.                 jButton3ActionPerformed(evt);
  176.             }
  177.         });
  178.  
  179.         jButton4.setText("test");
  180.         jButton4.addActionListener(new java.awt.event.ActionListener() {
  181.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  182.                 jButton4ActionPerformed(evt);
  183.             }
  184.         });
  185.  
  186.         jLabel1.setFont(new java.awt.Font("Arial", 0, 36)); // NOI18N
  187.         jLabel1.setText(".txt Login");
  188.  
  189.         jLabel2.setFont(new java.awt.Font("Arial", 0, 18)); // NOI18N
  190.         jLabel2.setText("Username");
  191.  
  192.         jLabel3.setFont(new java.awt.Font("Arial", 0, 18)); // NOI18N
  193.         jLabel3.setText("Password");
  194.  
  195.         jLabel4.setFont(new java.awt.Font("Arial", 0, 18)); // NOI18N
  196.         jLabel4.setText("Email");
  197.  
  198.         tfusr.setFont(new java.awt.Font("Arial", 0, 18)); // NOI18N
  199.  
  200.         tfpswd.setFont(new java.awt.Font("Arial", 0, 18)); // NOI18N
  201.  
  202.         tfmail.setFont(new java.awt.Font("Arial", 0, 18)); // NOI18N
  203.  
  204.         jButton1.setText("Register");
  205.         jButton1.addActionListener(new java.awt.event.ActionListener() {
  206.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  207.                 jButton1ActionPerformed(evt);
  208.             }
  209.         });
  210.  
  211.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  212.         getContentPane().setLayout(layout);
  213.         layout.setHorizontalGroup(
  214.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  215.             .addGroup(layout.createSequentialGroup()
  216.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  217.                     .addGroup(layout.createSequentialGroup()
  218.                         .addGap(140, 140, 140)
  219.                         .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 202, javax.swing.GroupLayout.PREFERRED_SIZE))
  220.                     .addGroup(layout.createSequentialGroup()
  221.                         .addGap(69, 69, 69)
  222.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  223.                             .addGroup(layout.createSequentialGroup()
  224.                                 .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
  225.                                 .addGap(69, 69, 69)
  226.                                 .addComponent(jButton2)
  227.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 95, Short.MAX_VALUE)
  228.                                 .addComponent(jButton3))
  229.                             .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  230.                                 .addComponent(jButton4)
  231.                                 .addGroup(layout.createSequentialGroup()
  232.                                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  233.                                         .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 112, Short.MAX_VALUE)
  234.                                         .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  235.                                         .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  236.                                     .addGap(64, 64, 64)
  237.                                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  238.                                         .addComponent(tfusr)
  239.                                         .addComponent(tfpswd)
  240.                                         .addComponent(tfmail, javax.swing.GroupLayout.DEFAULT_SIZE, 129, Short.MAX_VALUE)))))))
  241.                 .addGap(54, 54, 54))
  242.         );
  243.         layout.setVerticalGroup(
  244.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  245.             .addGroup(layout.createSequentialGroup()
  246.                 .addGap(22, 22, 22)
  247.                 .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
  248.                 .addGap(31, 31, 31)
  249.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  250.                     .addComponent(tfusr, javax.swing.GroupLayout.DEFAULT_SIZE, 44, Short.MAX_VALUE)
  251.                     .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  252.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  253.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  254.                     .addComponent(tfpswd, javax.swing.GroupLayout.DEFAULT_SIZE, 43, Short.MAX_VALUE)
  255.                     .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  256.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  257.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  258.                     .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  259.                     .addComponent(tfmail, javax.swing.GroupLayout.DEFAULT_SIZE, 42, Short.MAX_VALUE))
  260.                 .addGap(36, 36, 36)
  261.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  262.                     .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, 38, Short.MAX_VALUE)
  263.                     .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  264.                     .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  265.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  266.                 .addComponent(jButton4))
  267.         );
  268.  
  269.         pack();
  270.     }// </editor-fold>                        
  271.  
  272.     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  273. createFolder();
  274. readFile();countLines();
  275.  
  276. logic(tfusr.getText(), tfpswd.getText());
  277.     }                                        
  278.  
  279.     private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  280. tfusr.setText("");    
  281. tfpswd.setText("");
  282. tfmail.setText("");// TODO add your handling code here:
  283.     }                                        
  284.  
  285.     private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  286. createFolder();
  287. readFile();
  288. countLines();
  289. addData("nilesh","1234", "nil93@gmail.com");
  290. //CheckData("nilesh", "1234");
  291. // TODO add your handling code here:
  292.     }                                        
  293.  
  294.     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  295. createFolder();
  296. readFile();
  297. countLines();
  298. addData(tfusr.getText(),tfpswd.getText(),tfmail.getText());  
  299. /*changed aftere video  -->.*/JOptionPane.showMessageDialog(null,"Data Registered");        // TODO add your handling code here:
  300.     }                                        
  301.  
  302.     /**
  303.      * @param args the command line arguments
  304.      */
  305.     public static void main(String args[]) {
  306.         /* Set the Nimbus look and feel */
  307.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  308.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  309.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  310.          */
  311.         try {
  312.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  313.                 if ("Nimbus".equals(info.getName())) {
  314.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  315.                     break;
  316.                 }
  317.             }
  318.         } catch (ClassNotFoundException ex) {
  319.             java.util.logging.Logger.getLogger(notepad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  320.         } catch (InstantiationException ex) {
  321.             java.util.logging.Logger.getLogger(notepad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  322.         } catch (IllegalAccessException ex) {
  323.             java.util.logging.Logger.getLogger(notepad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  324.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  325.             java.util.logging.Logger.getLogger(notepad.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  326.         }
  327.         //</editor-fold>
  328.         //</editor-fold>
  329.  
  330.         /* Create and display the form */
  331.         java.awt.EventQueue.invokeLater(new Runnable() {
  332.             public void run() {
  333.                 new notepad().setVisible(true);
  334.             }
  335.         });
  336.     }
  337.  
  338.     // Variables declaration - do not modify                    
  339.     private javax.swing.JButton jButton1;
  340.     private javax.swing.JButton jButton2;
  341.     private javax.swing.JButton jButton3;
  342.     private javax.swing.JButton jButton4;
  343.     private javax.swing.JLabel jLabel1;
  344.     private javax.swing.JLabel jLabel2;
  345.     private javax.swing.JLabel jLabel3;
  346.     private javax.swing.JLabel jLabel4;
  347.     private javax.swing.JTextField tfmail;
  348.     private javax.swing.JTextField tfpswd;
  349.     private javax.swing.JTextField tfusr;
  350.     // End of variables declaration                  
  351. }
  352.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement